minor curiosity regarding GNU C library and feature test macros; perhaps i'm just misreading. from "man 3 getenv": SYNOPSIS #include <stdlib.h> char *getenv(const char *name); char *secure_getenv(const char *name); Feature Test Macro Requirements for glibc (see fea‐ ture_test_macros(7)): secure_getenv(): _GNU_SOURCE so i would normally read that as that i need to define "_GNU_SOURCE" before including stdlib.h to define the external reference to secure_getenv(), but that doesn't work as this is what is in /usr/include/stdlib.h: #ifdef __USE_GNU /* This function is similar to the above but returns NULL if the programs is running with SUID or SGID enabled. */ extern char *secure_getenv (const char *__name) __THROW __nonnull ((1)) __wur; #endif and defining "__USE_GNU" makes it work just fine. what is the proper usage of feature test macros in such a case, since the man page suggests one thing while the header file clearly shows another. thoughts? rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ========================================================================