Kaartic Sivaraam <[email protected]> writes:
> Wait, I missed a contradiction here.
> ..
> Documentation/SubmittingPatches says:
>
>> - Some clever tricks, like using the !! operator with arithmetic
>> constructs, can be extremely confusing to others.
What does "with arithmetic constructs" mean? Would it refer to
things like
!!i != !!(j + 3)
that unnecessarily obfuscates what is going on?
The primary reason why !!ptr is good in the code that this patch
touches is because what is doubly negated is a pointer, not an
integer or other things. The called function does *not* limit its
input to 0 or 1 (it wants 0 for false and everything else for true),
so we wouldn't be doing !!i if what we are passing is already an
integer. But we cannot just pass a pointer to such a parameter
without getting the compiler upset.