[U-Boot] [PATCH] Introduce a global bool type
Timur Tabi
b04825 at freescale.com
Tue Jan 8 18:53:45 CET 2013
Wolfgang Denk wrote:
> Dear Tabi Timur-B04825,
>
> In message <6AE080B68D46FC4BA2D2769E68D765B70820541F at 039-SN2MPN1-023.039d.mgd.msft.net> you wrote:
>>>
>>> This seems broken to me. Can we rather try8 and get rid of all this
>>> "bool" stuff instead? It's just obfuscating the code...
>>
>> Like Scott said, we sometimes copy code from Linux that uses 'bool',
>> so it's simpler if we just retain this commonly-used type. If it's
>> part of the language, how is it obfuscating? Maybe the Linux
>
> _Bool has been introduced very late to any C standard, and you can
> still see this from the ugly, unnatural name.
It was introduced in C99, which is over 12 years old.
> It is my personal firm conviction that the people pushed it were not
> the ones who have been using C right from the beginning, say from the
> times of Unix v6 or so.
>
> IMHO it is much better to rely on '0' meaning "false" and anything
> else meaning "true" instead of insisting on one specific value of
> "true". Yes, people claim the code is easier to read and understand,
> but these are the same people who claim drop-down menues are easier to
> work wit than a CLI. And I've seen more than one case where bugs were
> caused by using "proper bool types" like this:
>
> i = 0;
> j = 0;
> k = 2;
>
> if ((i | j | k) == true) ...
Ok, but this is just wrong. i, j, and k are not boolean types, so they
should not be compared with 'true' or 'false'. I don't think you'll find
any disagreement with that.
--
Timur Tabi
Linux kernel developer at Freescale
More information about the U-Boot
mailing list