Re: RFC: booleans and the kernel

Helge Hafting (helgehaf@aitel.hist.no)
Fri, 25 Jan 2002 12:07:26 +0100


Timothy Covell wrote:
>
> On Thursday 24 January 2002 14:39, Oliver Xymoron wrote:
> >
> > The compiler _will_ turn if(a==0) into a test of a with itself rather than
> > a comparison against a constant. Since PDP days, no doubt.
>
> I thought that the whole point of booleans was to stop silly errors
> like
>
> if ( x = 1 )
> {
> printf ("\nX is true\n");
> }
> else
> {
> # we never get here...
> }

Booleans won't help that. If you _want_ to fix that, change
the assignment operator so it don't look like a comparison.
Perhaps x <- 45; or something. Won't happen to C of course.

Oh, and writing if (a=b) is valid way of testing for a non-zero
b while also assigning to a. I write code that way when I
need such a set of operation. Short, elegant, and no, it isn't
hard to read at all.

Helge Hafting
-
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/