Re: RFC: booleans and the kernel

From: Gábor Lénár (lgb@lgb.hu)
Date: Sat Jan 26 2002 - 05:51:22 EST


On Sat, Jan 26, 2002 at 03:08:41AM +0000, Jamie Lokier wrote:
> Helge Hafting wrote:
> > Why would anyone want to write if (X==false) or if (X==true) ?
> > It is the "beginner's mistake" way of writing code. Then people learn,
> > and write if (X) or if (!X). Comparing to true/false is silly.
> > Nobody writes if ( (a==b) == true) so why do it in the simpler cases?
>
> I usually without the == in these cases:
>
> if (pointer) // test for non-0.
> if (condition)
> if (condition-valued-variable)
>
> but not in these (although I am not very consistent):

Khmmm please enlighten me ...

> if (X == true && ptr && *ptr > 1)

Why? Simply use for example type 'char' as boolean value. Let's say
0 means false and other value is true.

So:

if (x) printf("true");

or

if (!x) printf("false");

Why do you want to overcomplicate?

Even:

x=a>b;
if (x) printf("A is greater than B");

ONE thing which is best in C is the less strictly type rules eg you
can use 'char' to store eg c='A' or c=2.
Hey guys, C was designed to write an OS it's not something other ...

- Gábor
-
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 Jan 31 2002 - 21:00:40 EST