On Thursday 21 September 2017 07:01 AM, Junio C Hamano wrote:
What does "with arithmetic constructs" mean? Would it refer to things like !!i != !!(j + 3) that unnecessarily obfuscates what is going on?
Thanks that clears the confusion because I haven't seen constructs like this before (who would even do something like this?)
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.
Done. So I'll drop this patch. --- Kaartic