Re: [PATCH trivial] include/linux/memblock.h: Clean up code for several trivial details
From: Chen Gang
Date: Mon May 30 2016 - 22:06:34 EST
On 2016å05æ30æ 22:33, Joe Perches wrote:
> On Mon, 2016-05-30 at 22:21 +0800, Chen Gang wrote:
>> No, they are not necessary. But for me, it will be more clearer, since
>> in our kernel (at least in include/linux/), almost all Boolean functions
>> use Boolean value or expression for return (and "!!" are often used).
> Opinions vary.
> There seem to be fewer than 20 !! uses in bool return
> functions in include/linux/
For me, we can change the related functions to Boolean functions
> Finding the quantity of bool conversions in include/linux
> from something other than 0, 1, true, or false to 0 or 1
> is not trivial, but it is non-zero and seems rather more
> than 20.
[root@localhost linux]# grep -rn "\<return\>" * | grep ' & ' | grep -v "==" | grep -v '||' | grep -v 'struct' | grep -v '!=' | grep -v ',' | grep -v '?' | grep -v '!' | grep -v '&&' | wc -l
After give a glance, more than 60% are not for bool functions (so I
guess about 100 area hint).
But I guess, quite a few of none Boolean functions above can be changed
to Boolean functions, too (but have to read more code).
So I guess, about 200+ matches the hint (not use "!!" for & operation in
Boolean functions) in the 1000+ Boolean functions in include/linux.
All together, for me:
The return statement is much special than normal statements:
- It is related with function's type (non-return function, Boolean
function, or normal function), not only related with type cast within
the statement itself.
- Even for normal function, the type cast in return statement is also
better: when reading source code, return statements have much more
chances to be read than the function return type.
- For finding Boolean function in existing normal functions, we often
read the return value to know about whether it is a Boolean function
So, I still suggest to add type cast explicitly in return statement.
Welcome any ideas, suggestions, and completions.
Chen Gang (éå)
Managing Natural Environments is the Duty of Human Beings.