Lines Matching defs:htab
94 struct ohash *htab;
163 if ((htab = manmerge(e, NULL)) == NULL) {
168 for (rp = ohash_first(htab, &slot); rp != NULL;
169 rp = ohash_next(htab, &slot)) {
211 ohash_delete(htab);
212 free(htab);
234 * into the the result list htab.
237 manmerge(struct expr *e, struct ohash *htab)
241 return manmerge_term(e, htab);
243 return manmerge_or(e->child, htab);
245 return manmerge_and(e->child, htab);
252 manmerge_term(struct expr *e, struct ohash *htab)
259 if (htab == NULL) {
260 htab = mandoc_malloc(sizeof(*htab));
261 mandoc_ohash_init(htab, 4, offsetof(struct dbm_res, page));
296 slot = ohash_lookup_memory(htab,
298 if ((rp = ohash_find(htab, slot)) != NULL) {
304 ohash_insert(htab, slot, rp);
307 return htab;
311 manmerge_or(struct expr *e, struct ohash *htab)
314 htab = manmerge(e, htab);
317 return htab;
321 manmerge_and(struct expr *e, struct ohash *htab)
369 /* Merge the result of the AND into htab. */
371 if (htab == NULL)
376 slot2 = ohash_lookup_memory(htab,
378 if (ohash_find(htab, slot2) == NULL)
379 ohash_insert(htab, slot2, res);
388 return htab;