Re: Coding style RFC: convert "for (i=0;i<ARRAY_SIZE(array);i++)"to "array_for_each(index, array)"

From: Nick Piggin
Date: Tue Feb 13 2007 - 05:54:59 EST


Bernd Petrovitsch wrote:
On Tue, 2007-02-13 at 18:42 +1100, Nick Piggin wrote:

Joe Perches wrote:

[...]

perhaps:

#define array_for_each(element, array) \
for ((element) = (array); \
(element) < ((array) + ARRAY_SIZE((array))); \
(element)++)

If you're going for consistency, then shouldn't this be
array_for_each_entry()?


That depends on the decision between consistency to array_for_each_index
or consistency to list_for_each.

I don't follow.

list_for_each gives you a list_head.
list_for_each_entry gives you a pointer to an entry in the list, which
is equivalent to the above loop which gives a pointer to an entry in the
array. Accordingly, it should be called array_for_each_entry. What sort
of logic leads to another conclusion?

array_for_each_index gives an index into the array.

I offer no opinion on the merit of such macros, just their names.

--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/