lkml.org 
[lkml]   [2002]   [Jan]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: RFC: booleans and the kernel
    H. Peter Anvin wrote:
    > c) The ability to cast to bool and get an unambiguous true or false:
    >
    > b = (bool)a;
    >
    > This replaces the idiomatic but occationally confusing
    >
    > b = !!a;

    Careful, though. This example

    #include <stdbool.h>
    #include <stdio.h>

    int main(void)
    {
    int foo;

    foo = (bool) 4;
    printf("%d\n",foo);
    return 0;
    }

    e.g. compiled with gcc "2.96" (RH 7.1, 2.96-85), yields 4.

    Not sure if this is a flaw of gcc or of the standard. If gcc's
    stdbool.h is a standard-compliant implementation of "bool", then
    K&Rv2 seems to endorse this behaviour: from A4.2, "Enumerations
    behave like integers".

    - Werner

    --
    _________________________________________________________________________
    / Werner Almesberger, Lausanne, CH wa@almesberger.net /
    /_http://icawww.epfl.ch/almesberger/_____________________________________/
    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 13:15    [W:4.517 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site