Peter Memishian writes: > > > I think there's a bug in <sys/types.h> in that B_TRUE and B_FALSE > > disappear from the namespace if you request XOPEN_ or POSIX compliance > > with extensions via defines such as: > > > > -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ > > I agree this seems bogus. I've seen folks workaround it by #defining > B_TRUE to _B_TRUE and (e.g., in Makefiles).
It seems bogus, but if I recall correctly, the standards conformance gurus say that we're not allowed to walk into the user's name space in this way: those symbols are defined by the standards, so they must not exist. If you don't like that, then don't compile in a standards- conformant environment. The other (more common and just as simple) solution is to use _B_TRUE and _B_FALSE in your source code. It's not that much harder to type, and it keeps you out of the way of the standards people. The real breakage here, I think, is that ancillary data is inaccessible from native (Solaris; not standards-compliant) sockets. That's *really* bogus. -- James Carlson, Solaris Networking <[EMAIL PROTECTED]> Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677 _______________________________________________ opensolaris-code mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/opensolaris-code
