Home | History | Annotate | Download | only in util

Lines Matching full:item

46   dictItemPtr first;                                  /* first item in entry */
84 /* entry is locked, so item may be added */
86 const char *id, dictValuePtr newval, dictItemPtr *item)
90 if (item != NULL)
91 *item = NULL;
115 /* new item callback failed, cleanup */
125 if (item != NULL)
126 *item = my_item;
131 static void dictFreeItem(dictCtx dict, dictItemPtr item) {
134 dict->freeValue(item->value, dict->freeRock);
135 free(item->id);
136 free(item);
145 dictItemPtr *prev, item;
149 for(item = entry->first; item; item = item->next) {
151 if(! dict->comp(item->id, id)) {
154 *prev = item->next;
156 return item;
159 prev = &item->next;
169 dictItemPtr item = NULL;
179 /* find item */
180 if((item = dictFindItem(dict, entry, id, FALSE))) {
185 dict->freeValue(item->value, dict->freeRock);
187 item->value = newval->value;
192 err = newval->update(id, item->value, newval->rock);
197 dict->freeValue(item->value, dict->freeRock);
199 item->value = newValue;
202 /* new item failed (don't remove old), indicate that update failed */
203 item = NULL;
208 /* add new item to entry */
209 err = dictNewItem(dict, entry, id, newval, &item);
226 /* create new item and insert entry */
231 /* create/insert item (or cleanup) */
336 dictItemPtr *prev, item, next;
347 for(item = entry->first; item; item = next) {
349 next = item->next;
351 if(cleanup(item->id, item->value, rock)) {
353 /* remove item */
354 *prev = item->next;
355 dictFreeItem(dict, item);
359 prev = &item->next;
363 /* delete entry if last item removed */
380 dictItemPtr item;
394 /* find item */
395 if((item = dictFindItem(dict, entry, id, FALSE))) {
397 value = item->value;
415 dictItemPtr item;
431 /* Take first item in list */
432 item = entry->first;
434 if (item != NULL)
436 value = item->value;
437 *id = item->id;
469 item = dictFindItem(dict, entry, *id, FALSE);
470 if (item != NULL)
472 if (item->next != NULL)
474 item = item->next;
481 item = entry?entry->first:NULL;
483 if(! item) {
489 value = item->value;
490 *id = item->id;
509 dictItemPtr item;
522 /* find/unlink/free item */
523 if((item = dictFindItem(dict, entry, id, TRUE)))
524 dictFreeItem(dict, item);
528 return item ? TRUE : FALSE;
534 dictItemPtr item, next;
539 for(item = entry->first; item; item = next) {
541 next = item->next;
542 dictFreeItem(ctx, item);
543 item = next;