Lines Matching refs:b

39 	register Hash_bucket_t*	b;  in hashlook()  local
63 for (b = tab->table[n]; b; b = b->next) in hashlook()
65 s1 = hashname(b); in hashlook()
68 if (!c) return((flags & HASH_VALUE) ? b->value : (char*)b); in hashlook()
100 for (prev = 0, b = tab->table[n]; b; prev = b, b = b->next) in hashlook()
102 …if (i == HASHVAL(b->hash) && ((b->hash & (HASH_DELETED|HASH_OPAQUED)) != HASH_DELETED || (flags & … in hashlook()
106 register char* s1 = hashname(b); in hashlook()
121 if (!(*tab->root->local->compare)(hashname(b), name, tab->root->namesize)) goto found; in hashlook()
123 else if (!(*tab->root->local->compare)(hashname(b), name)) goto found; in hashlook()
139 if (b = last->bucket) in hashlook()
152 prev->next = b->next; in hashlook()
153 b->next = tab->table[n]; in hashlook()
154 tab->table[n] = b; in hashlook()
162 if (flags & HASH_OPAQUE) b->hash |= HASH_OPAQUED; in hashlook()
169 if (flags & HASH_OPAQUE) b->hash &= ~HASH_OPAQUED; in hashlook()
172 if (tab->root->local->free && b->value) in hashlook()
174 (*tab->root->local->free)(b->value); in hashlook()
175 b->value = 0; in hashlook()
179 value = b->value; in hashlook()
180 b->value = 0; in hashlook()
184 if (tab->frozen || (b->hash & HASH_OPAQUED)) b->hash |= HASH_DELETED; in hashlook()
187 tab->table[n] = b->next; in hashlook()
188 name = (b->hash & HASH_FREENAME) ? (char*)b->name : (char*)0; in hashlook()
189 …f (tab->root->local->free && (tab->root->flags & HASH_BUCKET)) (*tab->root->local->free)((char*)b); in hashlook()
190 else if (!(b->hash & HASH_KEEP)) in hashlook()
192 if (tab->root->local->region) (*tab->root->local->region)(tab->root->local->handle, b, 0, 0); in hashlook()
193 else free(b); in hashlook()
205 …if (tab != top || tab->frozen || (b->hash & (HASH_KEEP|HASH_OPAQUED)) || hashlook(top, value, (fla… in hashlook()
207 name = (char*)b->name; in hashlook()
208 if (!(tab->flags & HASH_ALLOCATE)) b->name = (char*)value; in hashlook()
209 else if (b->name && tab->root->namesize) in hashlook()
211 memcpy(b->name, value, tab->root->namesize); in hashlook()
223 if (b->name == ((char*)b + i) && strlen(b->name) <= m) in hashlook()
225 strcpy(b->name, value); in hashlook()
233 b->name = strcpy(t, value); in hashlook()
236 if (name && (b->hash & HASH_FREENAME)) in hashlook()
238 b->hash &= ~HASH_FREENAME; in hashlook()
243 tab->table[n] = b->next; in hashlook()
245 last->bucket = b; in hashlook()
250 if (!(b->hash & HASH_DELETED)) goto exists; in hashlook()
265 if (prev = b) in hashlook()
267 name = (b->hash & HASH_HIDES) ? b->name : (char*)b; in hashlook()
281 b = last->bucket; in hashlook()
309 if (!(b = (Hash_bucket_t*)(*tab->root->local->region)(tab->root->local->handle, NiL, n + m, 0))) in hashlook()
311 memset(b, 0, n + m); in hashlook()
313 else if (!(b = newof(0, Hash_bucket_t, 0, n + m))) in hashlook()
315 b->name = (char*)b + n; in hashlook()
316 memcpy(b->name, name, m); in hashlook()
322 if (!(b = (Hash_bucket_t*)(*tab->root->local->region)(tab->root->local->handle, NiL, n, 0))) in hashlook()
324 memset(b, 0, n); in hashlook()
326 else if (!(b = newof(0, Hash_bucket_t, 0, n))) in hashlook()
328 b->name = (char*)name; in hashlook()
331 b->hash = n = i; in hashlook()
333 b->next = tab->table[n]; in hashlook()
334 tab->table[n] = b; in hashlook()
339 b->hash |= HASH_DELETED|HASH_OPAQUED; in hashlook()
348 if (b->hash & HASH_DELETED) in hashlook()
350 b->hash &= ~HASH_DELETED; in hashlook()
353 last->bucket = b; in hashlook()
358 …root->local->free && !(tab->root->flags & HASH_BUCKET) && b->value) (*tab->root->local->free)(b->v… in hashlook()
360 b->value = (char*)value; in hashlook()
361 return((char*)hashname(b)); in hashlook()
363 return(b->value); in hashlook()
365 return((char*)b); in hashlook()