PIPE_CONNECT: promote from experimental
[users/jgh/exim.git] / src / src / environment.c
index c41d19ebac552ac233738a07dcf6756075ed20f6..9d3d126a693629ad7358ac9963dcf39ff4d96fe2 100644 (file)
@@ -9,9 +9,7 @@
 
 #include "exim.h"
 
-#ifndef environ
 extern char **environ;
-#endif
 
 /* The cleanup_environment() function is used during the startup phase
 of the Exim process, right after reading the configurations main
@@ -39,34 +37,32 @@ if (!keep_environment || *keep_environment == '\0')
 
   }
 else if (Ustrcmp(keep_environment, "*") != 0)
-  {
-  uschar **p;
-  if (environ) for (p = USS environ; *p; /* see below */)
+  if (environ) for (uschar ** p = USS environ; *p; /* see below */)
     {
     /* It's considered broken if we do not find the '=', according to
     Florian Weimer. For now we ignore such strings. unsetenv() would complain,
     getenv() would complain. */
-    uschar *eqp = Ustrchr(*p, '=');
+    uschar * eqp = Ustrchr(*p, '=');
 
     if (eqp)
       {
-      uschar *name = string_copyn(*p, eqp - *p);
+      uschar * name = string_copyn(*p, eqp - *p);
+
       if (OK != match_isinlist(name, CUSS &keep_environment,
           0, NULL, NULL, MCL_NOEXPAND, FALSE, NULL))
-        if (unsetenv(CS name) < 0) return FALSE;
+        if (os_unsetenv(name) < 0) return FALSE;
         else p = USS environ; /* RESTART from the beginning */
       else p++;
       store_reset(name);
       }
     }
-  }
 if (add_environment)
   {
-    uschar *p;
+    uschar * p;
     int sep = 0;
-    const uschar* envlist = add_environment;
-    while ((p = string_nextinlist(&envlist, &sep, NULL, 0)))
-        putenv(CS p);
+    const uschar * envlist = add_environment;
+
+    while ((p = string_nextinlist(&envlist, &sep, NULL, 0))) putenv(CS p);
   }
 
   return TRUE;