Lines Matching full:he

116 	HashEntry *he;
124 for (he = t->buckets[h & t->bucketsMask]; he != NULL; he = he->next) {
125 if (he->hash == h &&
126 strncmp(he->key, key.start, keyLen) == 0 &&
127 he->key[keyLen] == '\0')
131 return he;
160 HashEntry *he = buckets[i];
161 while (he != NULL) {
162 HashEntry *next = he->next;
163 free(he);
164 he = next;
187 HashEntry *he = HashTable_FindEntry(t, key);
188 return he != NULL ? he->value : NULL;
198 HashEntry *he = HashTable_Find(t, key, h);
199 return he != NULL ? he->value : NULL;
207 const HashEntry *he = t->buckets[b];
208 for (cl = 0; he != NULL; he = he->next)
234 HashEntry *he = oldBuckets[i];
235 while (he != NULL) {
236 HashEntry *next = he->next;
237 he->next = newBuckets[he->hash & newMask];
238 newBuckets[he->hash & newMask] = he;
239 he = next;
261 HashEntry *he = HashTable_Find(t, Substring_Init(key, keyEnd), h);
263 if (he != NULL) {
266 return he;
272 he = bmake_malloc(sizeof *he + (size_t)(keyEnd - key));
273 he->value = NULL;
274 he->hash = h;
275 memcpy(he->key, key, (size_t)(keyEnd - key) + 1);
277 he->next = t->buckets[h & t->bucketsMask];
278 t->buckets[h & t->bucketsMask] = he;
283 return he;
289 HashEntry *he = HashTable_CreateEntry(t, key, NULL);
290 HashEntry_Set(he, value);
295 HashTable_DeleteEntry(HashTable *t, HashEntry *he)
297 HashEntry **ref = &t->buckets[he->hash & t->bucketsMask];
299 for (; *ref != he; ref = &(*ref)->next)
301 *ref = he->next;
302 free(he);
314 HashEntry *he = hi->entry;
318 if (he != NULL)
319 he = he->next; /* skip the most recently returned entry */
321 while (he == NULL) { /* find the next nonempty chain */
324 he = buckets[hi->nextBucket++];
326 hi->entry = he;