Lines Matching refs:update
138 static SLEntryPtr SLLocate(void *l, unsigned long key, SLEntryPtr *update)
149 update[i] = entry;
159 SLEntryPtr update[SL_MAX_LEVEL + 1];
165 entry = SLLocate(list, key, update);
173 update[level] = list->head;
180 entry->forward[i] = update[i]->forward[i];
181 update[i]->forward[i] = entry;
191 SLEntryPtr update[SL_MAX_LEVEL + 1];
197 entry = SLLocate(list, key, update);
203 if (update[i]->forward[i] == entry)
204 update[i]->forward[i] = entry->forward[i];
218 SLEntryPtr update[SL_MAX_LEVEL + 1];
221 entry = SLLocate(list, key, update);
236 SLEntryPtr update[SL_MAX_LEVEL + 1] = {0};
239 SLLocate(list, key, update);
244 if (update[0]) {
245 *prev_key = update[0]->key;
246 *prev_value = update[0]->value;
248 if (update[0]->forward[0]) {
249 *next_key = update[0]->forward[0]->key;
250 *next_value = update[0]->forward[0]->value;