Mercurial > hg > octave-lojdl > gnulib-hg
diff lib/secure_getenv.c @ 17322:d77c98cd7cfd
secure_getenv: port better to FreeBSD and Solaris
* lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
(secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
This works better on BSDish platforms.
* m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
Test for issetugid if __secure_getenv is missing.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Thu, 07 Feb 2013 15:34:23 -0800 |
parents | 8108e0239bb6 |
children | a56636d89038 |
line wrap: on
line diff
--- a/lib/secure_getenv.c +++ b/lib/secure_getenv.c @@ -17,12 +17,23 @@ #include <stdlib.h> +#if !HAVE___SECURE_GETENV +# if HAVE_ISSETUGID +# include <unistd.h> +# else +# undef issetugid +# define issetugid() 1 +# endif +#endif + char * secure_getenv (char const *name) { #if HAVE___SECURE_GETENV return __secure_getenv (name); #else - return 0; + if (issetugid ()) + return 0; + return getenv (name); #endif }