[PATCH 1/2] list.h: Fix list_for_each_entry_safe()

Kristian Høgsberg krh at bitplanet.net
Mon Jun 14 06:25:22 PDT 2010


Can't use next as a macro argument since we're accessing the .next field
of struct list.
---
 include/list.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/list.h b/include/list.h
index 89dc29d..4ce20a8 100644
--- a/include/list.h
+++ b/include/list.h
@@ -94,10 +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)		\
+#define list_for_each_entry_safe(pos, tmp, head, member)		\
     for (pos = __container_of((head)->next, pos, member),		\
-	 next = __container_of(pos->member.next, pos, member);		\
+	 tmp = __container_of(pos->member.next, pos, member);		\
 	 &pos->member != (head);					\
-	 pos = next, next = __container_of(next->member.next, next, member))
+	 pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
 
 #endif
-- 
1.7.1



More information about the xorg-devel mailing list