Lines Matching refs:htab
95 struct ohash *htab;
164 if ((htab = manmerge(e, NULL)) == NULL) {
169 for (rp = ohash_first(htab, &slot); rp != NULL;
170 rp = ohash_next(htab, &slot)) {
202 ohash_delete(htab);
203 free(htab);
225 * into the the result list htab.
228 manmerge(struct expr *e, struct ohash *htab)
232 return manmerge_term(e, htab);
234 return manmerge_or(e->child, htab);
236 return manmerge_and(e->child, htab);
243 manmerge_term(struct expr *e, struct ohash *htab)
250 if (htab == NULL) {
251 htab = mandoc_malloc(sizeof(*htab));
252 mandoc_ohash_init(htab, 4, offsetof(struct dbm_res, page));
287 slot = ohash_lookup_memory(htab,
289 if ((rp = ohash_find(htab, slot)) != NULL) {
295 ohash_insert(htab, slot, rp);
298 return htab;
302 manmerge_or(struct expr *e, struct ohash *htab)
305 htab = manmerge(e, htab);
308 return htab;
312 manmerge_and(struct expr *e, struct ohash *htab)
360 /* Merge the result of the AND into htab. */
362 if (htab == NULL)
367 slot2 = ohash_lookup_memory(htab,
369 if (ohash_find(htab, slot2) == NULL)
370 ohash_insert(htab, slot2, res);
379 return htab;