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