summaryrefslogtreecommitdiff
path: root/lib/putenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/putenv.c')
-rw-r--r--lib/putenv.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/putenv.c b/lib/putenv.c
index df2f39fe5..5e9a8631e 100644
--- a/lib/putenv.c
+++ b/lib/putenv.c
@@ -24,8 +24,11 @@
#endif
/* Define-away any (possibly conflicting) prototype of putenv.
- Many systems omit the `const' attribute on the argument. */
-#define putenv _sys_putenv
+ Many systems omit the `const' attribute on the argument.
+ Define-away only if it's not already defined (e.g. to rpl_putenv). */
+#ifndef putenv
+# define putenv _sys_putenv
+#endif
#if defined (__GNU_LIBRARY__) || defined (HAVE_STDLIB_H)
# include <stdlib.h>
@@ -37,7 +40,9 @@
# include <unistd.h>
#endif
-#undef putenv
+#ifndef putenv
+# undef putenv
+#endif
#if !defined (__GNU_LIBRARY__) && !defined (HAVE_STRCHR)
# define strchr index