Re: [RFC PATCH 1/5] builtin/checkout: avoid usage of '!!'
From: Junio C Hamano <hidden>
Date: 2017-09-21 01:32:07
From: Junio C Hamano <hidden>
Date: 2017-09-21 01:32:07
Kaartic Sivaraam [off-list ref] writes:
Wait, I missed a contradiction here. .. Documentation/SubmittingPatches says:quoted
- 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.