Subject: RE: definition of TRUE and FALSE in system headers
To: Krister Walfridsson <cato@df.lth.se>
From: De Zeurkous <zeurkous@nichten.info>
List: tech-userlevel
Date: 07/23/2007 11:47:31
Haai,
On Mon, July 23, 2007 11:41, Krister Walfridsson wrote:
> 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)
Move 'em to stdbool.h -- that's where they belong.
>
> 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...
I would certainly consider it bad design.
Baai,
De Zeurkous
-----------
Friggin' Machines!
>
> /Krister
>