Re: RFC: booleans and the kernel

Helge Hafting
2002-01-25T10:08:25Z

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