summaryrefslogtreecommitdiff
path: root/source4/lib/replace
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/replace')
-rw-r--r--source4/lib/replace/libreplace.m42
-rw-r--r--source4/lib/replace/replace.h6
2 files changed, 7 insertions, 1 deletions
diff --git a/source4/lib/replace/libreplace.m4 b/source4/lib/replace/libreplace.m4
index 33cd0894c1..ab7c83f9dd 100644
--- a/source4/lib/replace/libreplace.m4
+++ b/source4/lib/replace/libreplace.m4
@@ -263,7 +263,9 @@ AC_CHECK_HEADERS([sys/param.h limits.h])
AC_CHECK_TYPE(comparison_fn_t,
[AC_DEFINE(HAVE_COMPARISON_FN_T, 1,[Whether or not we have comparison_fn_t])])
+AC_CHECK_DECLS([setenv, unsetenv])
AC_CHECK_FUNCS(setenv unsetenv)
+
AC_CHECK_FUNCS(strnlen)
AC_CHECK_FUNCS(strtoull __strtoull strtouq strtoll __strtoll strtoq)
diff --git a/source4/lib/replace/replace.h b/source4/lib/replace/replace.h
index 959d44b33e..3b09216257 100644
--- a/source4/lib/replace/replace.h
+++ b/source4/lib/replace/replace.h
@@ -160,7 +160,11 @@ size_t rep_strnlen(const char *s, size_t n);
#ifndef HAVE_SETENV
#define setenv rep_setenv
-int rep_setenv(const char *name, const char *value, int overwrite);
+int rep_setenv(const char *name, const char *value, int overwrite);
+#else
+#ifndef HAVE_DECL_SETENV
+int setenv(const char *name, const char *value, int overwrite);
+#endif
#endif
#ifndef HAVE_UNSETENV