Fix build for HP-UX and older Solaris: (un)setenv. Bug 1578
[exim.git] / src / src / setenv.c
index 6da56d5..18d1519 100644 (file)
@@ -3,14 +3,14 @@
 *************************************************/
 
 /* Copyright (c) Michael Haardt 2015 */
-/* Copyright (c) Jeremy Harris 2015 */
+/* Copyright (c) Jeremy Harris 2015 - 2016 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* This module provides (un)setenv routines for those environments
-lacking them in libraries. */
+lacking them in libraries. It is #include'd by OS/os.c-foo files. */
 
 
-static int
+int
 setenv(const char * name, const char * val, int overwrite)
 {
 uschar * s;
@@ -20,7 +20,7 @@ if (overwrite || !getenv(name))
 return 0;
 }
 
-static int
+int
 unsetenv(const char *name)
 {
 size_t len;
@@ -34,6 +34,9 @@ if (!name)
   return -1;
   }
 
+if (!environ)
+  return 0;
+
 for (end = name; *end != '=' && *end; ) end++;
 len = end - name;