htab
hashtabadd(Hashtab * htab, void *ptr)
Hashentry *h = _search(htab, ptr);
assert(htab && ptr);
tabptr = &htab->tab[(*htab->hash) (ptr) % htab->sz];
_hashtabdel(Hashtab * htab, void *ptr, int freep)
assert(htab && ptr);
h = _search(htab, ptr);
hashtabforeach(Hashtab * htab, int (*func) (void *ptr, void *arg),
assert(htab);
for (h = htab->tab; h < &htab->tab[htab->sz]; ++h)
static Hashentry *_search(Hashtab * htab, /* The hash table */
Hashtab *htab;
htab = (Hashtab *) malloc(sizeof(Hashtab) + (sz - 1) * sizeof(Hashentry *));
if (htab == NULL)
htab->tab[i] = NULL;
htab->cmp = cmp;
htab->hash = hash;
htab->sz = sz;
return htab;
_search(Hashtab * htab, void *ptr)
assert(htab && ptr);
for (hptr = htab->tab[(*htab->hash) (ptr) % htab->sz];
if ((*htab->cmp) (ptr, hptr->ptr) == 0)
hashtabsearch(Hashtab * htab, void *ptr)
tmp = _search(htab, ptr);
void *hashtabsearch(Hashtab *htab, /* The hash table */
void *hashtabadd(Hashtab *htab, /* The hash table */
int _hashtabdel(Hashtab *htab, /* The table */
void hashtabforeach(Hashtab *htab,
#define hashtabdel(htab,key) _hashtabdel(htab,key,FALSE)
#define hashtabfree(htab,key) _hashtabdel(htab,key,TRUE) /* Do! */
hashtabforeach(htab, checkfunc, &f);
static Hashtab *htab;
htab = hashtabnew(101, cmp, hash);
s = (Symbol *) hashtabsearch(htab, (void *) &key);
hashtabadd(htab, s);
hcreate_r(size_t nel, struct hsearch_data *htab)
htab->__hsearch = hsearch;
hdestroy_r(struct hsearch_data *htab)
hsearch = htab->__hsearch;
hsearch = htab->__hsearch;
hsearch_r(ENTRY item, ACTION action, ENTRY **retval, struct hsearch_data *htab)
hsearch = htab->__hsearch;
, LZF_STATE htab
LZF_STATE htab;
memset (htab, 0, sizeof (htab));
for (hslot = htab; hslot < htab + HSIZE; hslot++)
hslot = htab + IDX (hval);
htab[IDX (hval)] = ip;
htab[IDX (hval)] = ip;
htab[IDX (hval)] = ip;
const unsigned char **htab = g_htab;
for (hslot = htab; hslot < htab + HASH_SIZE; hslot++)
hslot = htab + hval;
ref = htab[hval];
htab[hval] = ip++;
htab[hval] = ip++;
iphtable_t htab, *iph, *oiph;
if (op->iplo_size != sizeof(htab)) {
err = COPYIN(op->iplo_struct, &htab, sizeof(htab));
if (htab.iph_unit != unit) {
if (htab.iph_size < 1) {
*iph = htab;
#define htabof(i) htab[i]
#define tab_suffixof(i) ((char_type *)(htab))[i]
htab_p = htab + cl_hsize;
} *htab;
for (hl = htab; hl != NULL; hl = hl->h_next) {
for (hl = htab; hl != NULL; hl = hl->h_next) {
hl->h_next = htab;
htab = hl;