Lines Matching refs:elem

49   HashElem *elem;         /* For looping over all elements of the table */  in sqliteHashClear()  local
52 elem = pH->first; in sqliteHashClear()
57 while( elem ){ in sqliteHashClear()
58 HashElem *next_elem = elem->next; in sqliteHashClear()
59 if( pH->copyKey && elem->pKey ){ in sqliteHashClear()
60 sqliteFree(elem->pKey); in sqliteHashClear()
62 sqliteFree(elem); in sqliteHashClear()
63 elem = next_elem; in sqliteHashClear()
167 HashElem *elem, *next_elem; /* For looping over existing elements */ in rehash() local
178 for(elem=pH->first, pH->first=0; elem; elem = next_elem){ in rehash()
179 int h = (*xHash)(elem->pKey, elem->nKey) & (new_size-1); in rehash()
180 next_elem = elem->next; in rehash()
183 elem->next = x; in rehash()
184 elem->prev = x->prev; in rehash()
185 if( x->prev ) x->prev->next = elem; in rehash()
186 else pH->first = elem; in rehash()
187 x->prev = elem; in rehash()
189 elem->next = pH->first; in rehash()
190 if( pH->first ) pH->first->prev = elem; in rehash()
191 elem->prev = 0; in rehash()
192 pH->first = elem; in rehash()
194 new_ht[h].chain = elem; in rehash()
209 HashElem *elem; /* Used to loop thru the element list */ in findElementGivenHash() local
214 elem = pH->ht[h].chain; in findElementGivenHash()
217 while( count-- && elem ){ in findElementGivenHash()
218 if( (*xCompare)(elem->pKey,elem->nKey,pKey,nKey)==0 ){ in findElementGivenHash()
219 return elem; in findElementGivenHash()
221 elem = elem->next; in findElementGivenHash()
232 HashElem* elem, /* The element to be removed from the pH */ in removeElementGivenHash() argument
235 if( elem->prev ){ in removeElementGivenHash()
236 elem->prev->next = elem->next; in removeElementGivenHash()
238 pH->first = elem->next; in removeElementGivenHash()
240 if( elem->next ){ in removeElementGivenHash()
241 elem->next->prev = elem->prev; in removeElementGivenHash()
243 if( pH->ht[h].chain==elem ){ in removeElementGivenHash()
244 pH->ht[h].chain = elem->next; in removeElementGivenHash()
250 if( pH->copyKey && elem->pKey ){ in removeElementGivenHash()
251 sqliteFree(elem->pKey); in removeElementGivenHash()
253 sqliteFree( elem ); in removeElementGivenHash()
263 HashElem *elem; /* The element that matches key */ in sqliteHashFind() local
271 elem = findElementGivenHash(pH,pKey,nKey, h & (pH->htsize-1)); in sqliteHashFind()
272 return elem ? elem->data : 0; in sqliteHashFind()
293 HashElem *elem; /* Used to loop thru the element list */ in sqliteHashInsert() local
303 elem = findElementGivenHash(pH,pKey,nKey,h); in sqliteHashInsert()
304 if( elem ){ in sqliteHashInsert()
305 void *old_data = elem->data; in sqliteHashInsert()
307 removeElementGivenHash(pH,elem,h); in sqliteHashInsert()
309 elem->data = data; in sqliteHashInsert()
339 elem = pH->ht[h].chain; in sqliteHashInsert()
340 if( elem ){ in sqliteHashInsert()
341 new_elem->next = elem; in sqliteHashInsert()
342 new_elem->prev = elem->prev; in sqliteHashInsert()
343 if( elem->prev ){ elem->prev->next = new_elem; } in sqliteHashInsert()
345 elem->prev = new_elem; in sqliteHashInsert()