From 30fb83b6e520e0167934b6defe105f2bdd408fd5 Mon Sep 17 00:00:00 2001 From: Andrew Boie Date: Thu, 12 Sep 2013 15:30:40 -0700 Subject: [PATCH] cutils: list: add list_for_each_safe For when you want to modify the list whilst iterating over it. Change-Id: I84432892890987c218e56883c35e52c9ff0240a3 Signed-off-by: Andrew Boie --- include/cutils/list.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/cutils/list.h b/include/cutils/list.h index 3881fc9db..72395f47b 100644 --- a/include/cutils/list.h +++ b/include/cutils/list.h @@ -44,6 +44,11 @@ struct listnode #define list_for_each_reverse(node, list) \ for (node = (list)->prev; node != (list); node = node->prev) +#define list_for_each_safe(node, next, list) \ + for (node = (list)->next, next = node->next; \ + node != (list); \ + node = next, next = node->next) + void list_init(struct listnode *list); void list_add_tail(struct listnode *list, struct listnode *item); void list_remove(struct listnode *item);