I was trying to build netsnmp, but it's got some broken constructs in 
it, like:

#if HAVE_FSTAB_H || HAVE_GETMNTENT || HAVE_STATFS

This is wrong.  In some cases, the HAVE_FSTAB_H (for instance) won't 
even be defined (as happened when I tried to compile).

A lot of C compilers will allow sloppy constructs, like:

#if XXXX

and if XXXX isn't defined, they will evaluate as false.  But this 
encourages sloppy constructs, like the one preceding it.

This is problematic.

Because sometimes configure will generate:

#define HAVE_FSTAB_H 0

and sometimes it won't (that is, it will be left undefined).  You'd 
really need to write:

#if (defined(HAVE_FSTAB_H) && HAVE_FSTAB_H != 0) || ...

no, wait.  That won't work either in the case where HAVE_FSTAB_H isn't 
defined.

God...  makes my head hurt.

-Philip


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Astlinux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/astlinux-users

Donations to support AstLinux are graciously accepted via PayPal to [EMAIL 
PROTECTED]

Reply via email to