Changes in directory llvm/lib/System/Unix:

Program.inc updated: 1.17 -> 1.18
---
Log message:

Don't pull in environ, not always safe. Global variables are bad anyway.
Use execve when explicit environment variables ptr is available. Otherwise
just use execv.


---
Diffs of the changes:  (+4 -8)

 Program.inc |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)


Index: llvm/lib/System/Unix/Program.inc
diff -u llvm/lib/System/Unix/Program.inc:1.17 
llvm/lib/System/Unix/Program.inc:1.18
--- llvm/lib/System/Unix/Program.inc:1.17       Wed Jun  7 18:18:33 2006
+++ llvm/lib/System/Unix/Program.inc    Fri Jun  9 15:43:11 2006
@@ -29,8 +29,6 @@
 #include <fcntl.h>
 #endif
 
-extern char** environ;
-
 namespace llvm {
 using namespace sys;
 
@@ -147,13 +145,11 @@
         }
       }
 
-      // Set up the environment
-      char** env = environ;
-      if (envp != 0)
-        env = (char**) envp;
-
       // Execute!
-      execve (path.c_str(), (char** const)args, env);
+      if (envp != 0)
+        execve (path.c_str(), (char** const)args, (char**)envp);
+      else
+        execv (path.c_str(), (char** const)args);
       // If the execve() failed, we should exit and let the parent pick up
       // our non-zero exit status.
       exit (errno);



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to