changeset 1556:44617e0f6ffe

Redefine putenv before including stdlib.h to work around Solaris 2.7's conflicting prototype. Reported by Karl Berry.
author Jim Meyering <jim@meyering.net>
date Sun, 06 Dec 1998 22:18:17 +0000
parents 26ad240c2ee2
children 38fd8f5d359d
files lib/putenv.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lib/putenv.c
+++ b/lib/putenv.c
@@ -31,8 +31,14 @@
 #include <sys/types.h>
 
 #if defined (__GNU_LIBRARY__) || defined (HAVE_STDLIB_H)
+/* Some stdlib.h (e.g., Solaris 2.7) declare putenv with a non-const argument.
+   Since that would conflict with the declaration below, we rename putenv in
+   that incompatible prototype.  */
+# define putenv vendor_putenv_prototype
 # include <stdlib.h>
+# undef putenv
 #endif
+
 #if defined (__GNU_LIBRARY__) || defined (HAVE_STRING_H)
 # include <string.h>
 #endif
@@ -60,8 +66,7 @@
 
 /* Put STRING, which is of the form "NAME=VALUE", in the environment.  */
 int
-rpl_putenv (string)
-     const char *string;
+rpl_putenv (const char *string)
 {
   const char *const name_end = strchr (string, '=');
   register size_t size;