[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0710010546340.15688@localhost.localdomain>
Date: Mon, 1 Oct 2007 05:48:59 -0400 (EDT)
From: "Robert P. J. Day" <rpjday@...dspring.com>
To: Andrew Morton <akpm@...ux-foundation.org>
cc: roel <12o3l@...cali.nl>, lkml <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] removes array_size duplicates
On Mon, 1 Oct 2007, Andrew Morton wrote:
> On Fri, 28 Sep 2007 00:51:13 +0200 roel <12o3l@...cali.nl> wrote:
>
> > This patch removes some ARRAY_SIZE macro duplicates. There is also one in
> > arch/um/include/user.h, which isn't fixed here because comments in that file
> > explicitly state a preference for the 'less fancy' version. If that's the
> > case as well for any of the other replacements please comment.
>
> I got a bunch of rejects against various development trees, a
> build error in net/ipv4/ipvs/ip_vs_proto_udp.c and now
>
> net/netfilter/xt_sctp.c: In function 'match_packet':
> net/netfilter/xt_sctp.c:58: error: size of array 'type name' is negative
> net/netfilter/xt_sctp.c:106: error: size of array 'type name' is negative
among other things, one of the creepy issues here is the definition in
include/linux/netfilter/xt_sctp.h of the macro:
...
#define SCTP_CHUNKMAP_COPY(destmap, srcmap) \
do { \
int i; \
for (i = 0; i < ELEMCOUNT(chunkmap); i++) \
destmap[i] = srcmap[i]; \
} while (0)
...
i'm not a big fan of macros that refer to objects that aren't
parameters to the macro, especially when all the rest of them *do*.
rday
p.s. ELEMCOUNT is simply an alternative to ARRAY_SIZE, which could
certainly be rewritten that way.
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA
http://crashcourse.ca
========================================================================
-
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