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