Re: [PATCH] stacked ifs (was Re: [PATCH 02/12] handle multiple network paths to AoE device)

Jan Engelhardt
2007-07-18T15:24:40Z

On Jul 16 2007 17:01, Greg KH wrote:
>>
>> > > ugh. Do this:
>> > >
>> > > do {
>> > > if (t == d->htgt)
>> > > continue;
>> > > if (!(*t)->ifp->nd)
>> > > continue;
>> > > if ((*t)->nout >= (*t)->maxout)
>> > > continue;
>> > >
>> > > <stuff>
>> > > } while (++t ...)
>> >
>> > Do you think the "stacked ifs" in the first version above could be
>> > accepted as a convenient extension to the K&R-based conventions in
>> > Documentation/CodingStyle?
>>
>> Maybe. I don't recall seeing any kernel code which uses that convention:
>> everyone uses &&. So personally I'd prefer to see kernel code stick to the
>> one convention, given that there is not, afacit, any significant advantage
>> to the alternative one.
>
>I agree, let's stick with the convention we already have and use
>instead.

Yup. Either the "do this" (see above) or the "&&" variant, though, the latter
can become quite nested or long.

[ In fact, if you have
void function(struct something *arg)
{
if (arg != NULL) {
lots_of_code;
}
}
it is perhaps better to write as
{
if (arg == NULL)
return;
lots_of_code;
}
since that reduces the indent by at least one. ]

Jan
--