diff options
author | 2023-03-13 17:12:26 +0100 | |
---|---|---|
committer | 2023-03-13 17:12:26 +0100 | |
commit | 3f846f386c6e51f707ab418b549e4fb4180960de (patch) | |
tree | 263d1dfe2ccd904257cb7e3dde9caa95c3de8f43 /src/list.c | |
parent | 22ad5660800e534e18e653ed31ccaec650df8769 (diff) | |
download | utils-3f846f386c6e51f707ab418b549e4fb4180960de.tar.gz utils-3f846f386c6e51f707ab418b549e4fb4180960de.zip |
Change data return in clist_iterator_next
We want only data and not the node structure.
Diffstat (limited to 'src/list.c')
-rw-r--r-- | src/list.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -103,13 +103,17 @@ clist_iterator_has_next(iterator_t i) return i.current != NULL; } -list_item_t -clist_iterator_next(iterator_t *iterator) +void * +clist_iterator_next(iterator_t *i) { - struct list_item_t *current = iterator->current; - iterator->current = iterator->current->next; + if (i == NULL || i->current == NULL) + return NULL; - return current; + void *data = i->current->data; + /* `next` can be NULL */ + i->current = i->current->next; + + return data; } char * |