-#elif defined(HAVE_SYS_SYSCTL_H) && defined(IPCTL_STATS) &&
(HAVE_STRUCT_IPSTAT_IPS_TOTAL || HAVE_STRUCT_IP_STATS_IPS_TOTAL)
+#elif defined(HAVE_SYS_SYSCTL_H) && defined(IPCTL_STATS) &&
(defined(HAVE_STRUCT_IPSTAT_IPS_TOTAL) ||
defined(HAVE_STRUCT_IP_STATS_IPS_TOTAL))

Isn't this a no-op?  I thought that an undefined symbol was
treated as false by the preprocessor.

When I compile

#if defined(HAVE_SYS_SYSCTL_H) && defined(IPCTL_STATS) &&
(HAVE_STRUCT_IPSTAT_IPS_TOTAL || HAVE_STRUCT_IP_STATS_IPS_TOTAL)
defined
#else
not defined
#endif

with gcc -E or cl /E, I get

not defined


Reply via email to