list.h: Fix list_for_each_entry_safe()

Can't use next as a macro argument since we're accessing the .next field
of struct list.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Kristian Høgsberg 2010-06-14 09:25:22 -04:00 committed by Keith Packard
parent e2918b6739
commit 2c0159d217

View File

@ -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