Re: [PATCH][TRIVIAL] Bugzilla bug # 322 - double logical operator drivers/char/sx.c

From: Rahul Karnik (rahul@genebrew.com)
Date: Wed Aug 06 2003 - 23:00:23 EST


Valdis.Kletnieks@vt.edu wrote:
> On Wed, 06 Aug 2003 21:26:30 EDT, Jeff Sipek said:
>
>
>>>Can you really DO (x < y > z) and have it work as an anded pair of
>>>comparisons? Maybe this is an addition to C that I am not aware of.
>>>
>>>I would expect (x < y > z) to be equivalent to ((x < y) > z).
>>
>>Ah, very true. I wonder what the author intended. Also, since the 'z' is 0 in
>>all the cases, the statement "(i < TIMEOUT) > 0" can be reduced to "i <
>>TIMEOUT".
>
>
> Of course, if the author intended (x<y) && (x > 0), you can't reduce it if
> x is at all possibly negative....

Doesn't matter; x is a loop index incrementing from 0 in this case.

Actually (correct me if I am wrong, but doesn't:

for(int i = 0; i < TIMEOUT > 0; i++)

translate to:

for(int i = 1; i < TIMEOUT; i++)

rather than:

for(int i = 0; i < TIMEOUT; i++)?

I hav not looked at the actual context of the code, but at least
mathematically that makes more sense to me. i should never be 0 in the
body of the loop, methinks?

Thanks,
Rahul

-- 
Rahul Karnik
rahul@genebrew.com

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 07 2003 - 22:00:36 EST