From 32381363cd8f43aeb741bad70bcf96a287dac0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Sat, 1 May 2010 13:15:00 -0400 Subject: [PATCH] list.h: Add list_for_each_entry_safe() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kristian Høgsberg Reviewed-by: Adam Jackson --- include/list.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/list.h b/include/list.h index a126a652d..89dc29dd0 100644 --- a/include/list.h +++ b/include/list.h @@ -94,4 +94,10 @@ list_is_empty(struct list *head) &pos->member != (head); \ pos = __container_of(pos->member.next, pos, member)) +#define list_for_each_entry_safe(pos, next, head, member) \ + for (pos = __container_of((head)->next, pos, member), \ + next = __container_of(pos->member.next, pos, member); \ + &pos->member != (head); \ + pos = next, next = __container_of(next->member.next, next, member)) + #endif