[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45D10460.6000903@iinet.net.au>
Date: Tue, 13 Feb 2007 11:20:48 +1100
From: Ben Nizette <ben.nizette@...et.net.au>
To: Joe Perches <joe@...ches.com>
CC: linux-kernel@...r.kernel.org
Subject: Re: Coding style RFC: convert "for (i=0;i<ARRAY_SIZE(array);i++)"
to "array_for_each(index, array)"
Joe Perches wrote:
> Now that most of the sizeof(array)/sizeof(array[0])
> conversions have been done (there are about 800 done
> and about another 130 left), perhaps it could be
> useful to change the code to use a define similar
> to the list_for_each
>
> #define list_for_each(pos, head) \
> for (pos = (head)->next; prefetch(pos->next), pos != (head); \
> pos = pos->next)
>
> perhaps
>
> #define array_for_each(index, array) \
> for ((index) = 0; (index) < ARRAY_SIZE((array)); (index)++)
>
I like the idea, my only concern would be potential confusion. That is,
the list_for_each macro sets pos to each list_head in turn where
array_for_each just sets the index /in to/ the array. While I think the
way you have is nicer, for compatibility between the two styles maybe
something more like
#define array_for_each(element, array) \
for (int __idx = 0; __idx < ARRAY_SIZE((array)); \
__idx++, (element) = &(array[__idx]))
would help. Of course the other option is to name array_for_each
something different to avoid comparisons with list_for_each.
--Ben.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists