Re: RFC: turn kmalloc+memset(,0,) into kcalloc

Jesper Juhl
2005-04-09T02:09:10Z

On Wed, 6 Apr 2005, Jörn Engel wrote:

> On Tue, 5 April 2005 22:01:49 +0200, Jesper Juhl wrote:
> > On Tue, 5 Apr 2005, Roland Dreier wrote:
> >
> > > > or simply
> > > > if (!(ptr = kcalloc(n, size, ...)))
> > > > goto out;
> > > > and save an additional line of screen realestate while you are at it...
> > >
> > > No, please don't do that. The general kernel style is to avoid
> > > assignments within conditionals.
> > >
> > It may be the prefered style to avoid assignments in conditionals, but in
> > that case we have a lot of cleanup to do. What I wrote above is quite
> > common in the current tree - a simple egrep -r "if\ *\(\!\(.+=" * in
> > 2.6.12-rc2-mm1 will find you somewhere between 1000 and 2000 cases
> > scattered all over the tree.
> >
> > Personally I don't see why thy should not be used. They are short, not any
> > harder to read (IMHO), save screen space & are quite common in userspace
> > code as well (so people should be used to seeing them).
> >
> > If such statements are generally frawned upon then I'd suggest an addition
> > be made to Documentation/CodingStyle mentioning that fact, and I wonder if
> > patches to clean up current users would be welcome?
>
> I _do_ change them whenever they occur in code I maintain. And each
> time, it is an improvement.
>
> o Functional code always has the same indentation. I can mentally
> ignore the error path by ignoring all indented code. Getting a
> quick overview is quite nice.
>
> o Rather often, your preferred variant violates the 80 columns rule.
> If I need the line break anyway,...
>
> o Keeping condition and functional code seperate avoids the Lisp-style
> bracket maze. Some editors can help you here, but not needing any
> help would be even better, no?
>
Ok, I accept those arguments, they make sense. I may still have a personal
preference that differ slightly, but I see your point(s).

--
Jesper