diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/list/list.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/list/list.h b/lib/list/list.h index 3858cf6..f78411e 100644 --- a/lib/list/list.h +++ b/lib/list/list.h @@ -30,6 +30,13 @@ struct list { &pos->member != &(list)->head; \ pos = list_entry(pos->member.next, typeof(*pos), member)) +#define list_for_each_entry_safe(list, pos, n, member) \ + for (pos = list_entry((list)->head.next, typeof(*pos), member), \ + n = list_entry(pos->member.next, typeof(*pos), member); \ + &pos->member != &(list)->head; \ + pos = n, n = list_entry(n->member.next, typeof(*n), member)) + + void list_init(struct list *list); void list_add(struct list *list, struct list_item *item); |