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

Tiago Vignatti tiago.vignatti at nokia.com
Mon Jun 14 07:52:58 PDT 2010


On Mon, Jun 14, 2010 at 03:25:22PM +0200, ext Kristian H�gsberg wrote:
> 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

Kristian, doesn't make sense then to use inline function here instead keep
juggling with the names?

             Tiago


More information about the xorg-devel mailing list