Subject: definition of TRUE and FALSE in system headers
To: None <tech-userlevel@netbsd.org>
From: Krister Walfridsson <cato@df.lth.se>
List: tech-userlevel
Date: 07/23/2007 13:41:15
I have seen some problems with software failing to build on NetBSD 
4.0_BETA2 because NetBSD now defines/redefines TRUE and FALSE when
you include e.g. sys/ioctl.h (the definition/redefinition
   #undef TRUE
   #define TRUE    1
   #undef FALSE
   #define FALSE   0
is in prop/prop_object.h that is included (via sys/dkio.h) from
sys/ioctl.h)

I assume the sys/ headers do not guarantee much about namespace 
protection, but I was a bit surprised that it redefined such common 
constants...  So I'd like check if this is the expected behavior or
a bug before I send patches to other projects...

    /Krister