Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Oct 2001 08:26:44 -0800
From:      Luigi Rizzo <rizzo@aciri.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        "Andrew R. Reiter" <arr@watson.org>, Josef Karthauser <joe@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: ipfw.c -- (was: cvs commit: src/sys/netinet ip_fw.h)
Message-ID:  <20011029082644.E96115@iguana.aciri.org>
In-Reply-To: <20011030030505.J12580-100000@delplex.bde.org>
References:  <20011029000216.A95875@iguana.aciri.org> <20011030030505.J12580-100000@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 30, 2001 at 03:18:31AM +1100, Bruce Evans wrote:
> > > In 4.4-RELEASE, style.9 says:
> > >
> > >      Parts of a for loop may be left empty.  Don't put declarations inside
> > >      blocks unless the routine is unusually complicated.
> >
> > oh yes, that was it. Well, I think that in the above section of style(9),
> > the only reasonable interpretation of "the routine" is
> > "the function in which the block is contained"; otherwise, you
> > should assume that you are not supposed to use local variables
> > in small functions!
> 
> I think the only reasonable interpretation is that style(9) is poorly
> worded.  "blocks" means "inner blocks like the for loop immediately
> following this paragraph".

i questioned the interpretation of "routine", not "block".
Variable declarations that are 500 lines away are only calling for
subtle bugs to be introduced when modifying the code (and we have
plenty of very large functions in the kernel).

> > > In ipfw.c, there are a number of areas in which it does not make sense, in
> > > terms of style.9, to declare a variable as local to the point where it's
> > > no longer at the head of a function.  Ie:
> >
> > I think this is exactly the case where it makes a lot of sense to
> > declare vars locally to the block: the start of the function is
> > far away, there is a bunch of small conditionals where each
> > of them needs to use some temporary variable and those variables
> > are meant to be used only within the block.
> 
> The rule is certainly mean to disallow this.  There are very few examples

oh yes, i think it is really mean. But perhaps this is not what you meant :)

	cheers
	luigi

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011029082644.E96115>