From: Paul Eggert Date: Wed, 13 Mar 2013 07:10:30 +0000 (-0700) Subject: putenv: port to Solaris 10 X-Git-Tag: v0.1~170 X-Git-Url: http://erislabs.net/gitweb/?p=gnulib.git;a=commitdiff_plain;h=726c760e3f7660648770641222fa84a3fcfd5849 putenv: port to Solaris 10 * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not HAVE__PUTENV. Solaris 10 has a _putenv that's not declared and is not what is wanted here. * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's declaration, not for its existence. --- diff --git a/ChangeLog b/ChangeLog index 94ccf7c56..0b9f30fdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2013-03-13 Paul Eggert + + putenv: port to Solaris 10 + * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not + HAVE__PUTENV. Solaris 10 has a _putenv that's not declared and + is not what is wanted here. + * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's + declaration, not for its existence. + 2013-03-12 Paul Eggert mktime: fix configure typo diff --git a/lib/putenv.c b/lib/putenv.c index 3813a11ec..546127308 100644 --- a/lib/putenv.c +++ b/lib/putenv.c @@ -62,7 +62,7 @@ static int _unsetenv (const char *name) { size_t len; -#if !HAVE__PUTENV +#if !HAVE_DECL__PUTENV char **ep; #endif @@ -74,7 +74,7 @@ _unsetenv (const char *name) len = strlen (name); -#if HAVE__PUTENV +#if HAVE_DECL__PUTENV { int putenv_result, putenv_errno; char *name_ = malloc (len + 2); @@ -127,9 +127,9 @@ putenv (char *string) return _unsetenv (string); } -#if HAVE__PUTENV +#if HAVE_DECL__PUTENV /* Rely on _putenv to allocate the new environment. If other - parts of the application use _putenv, the !HAVE__PUTENV code + parts of the application use _putenv, the !HAVE_DECL__PUTENV code would fight over who owns the environ vector, causing a crash. */ if (name_end[1]) return _putenv (string); @@ -188,7 +188,7 @@ putenv (char *string) last_environ = new_environ; environ = new_environ; } -#endif return 0; +#endif } diff --git a/m4/putenv.m4 b/m4/putenv.m4 index 03ed4f97d..c33b5b517 100644 --- a/m4/putenv.m4 +++ b/m4/putenv.m4 @@ -1,4 +1,4 @@ -# putenv.m4 serial 19 +# putenv.m4 serial 20 dnl Copyright (C) 2002-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -52,5 +52,5 @@ AC_DEFUN([gl_FUNC_PUTENV], # Prerequisites of lib/putenv.c. AC_DEFUN([gl_PREREQ_PUTENV], [ - AC_CHECK_FUNCS([_putenv]) + AC_CHECK_DECLS([_putenv]) ])