I see in some header files, such as Sun's <sys/feature_tests.h>, the value of a macro is subtracted by zero before testing it against a value. Example:
Why didn't they just writeCode:#if (_XOPEN_SOURCE - 0 == 600) || (_POSIX_C_SOURCE - 0 == 200112L) #define _XPG6 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200112L #endif
#if (_XOPEN_SOURCE == 600) || (_POSIX_C_SOURCE == 200112L) ?
Should we follow their style?