diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2012-03-28 20:28:35 -0700 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2012-03-28 20:58:43 -0700 |
| commit | e9503131556656d7ae0ad583b9d9ed81755a3746 (patch) | |
| tree | dd9fd6202284c2f891833d7f96be9d8da58ca1a0 /src/rt/rust_run_program.cpp | |
| parent | 635b55100c37906ac53a9130873d9392e545e6e7 (diff) | |
| download | rust-e9503131556656d7ae0ad583b9d9ed81755a3746.tar.gz rust-e9503131556656d7ae0ad583b9d9ed81755a3746.zip | |
Remove execvpe use in general, it seems pointless and non-portable.
Diffstat (limited to 'src/rt/rust_run_program.cpp')
| -rw-r--r-- | src/rt/rust_run_program.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/rt/rust_run_program.cpp b/src/rt/rust_run_program.cpp index 313ab74995a..8390c8e4723 100644 --- a/src/rt/rust_run_program.cpp +++ b/src/rt/rust_run_program.cpp @@ -163,19 +163,15 @@ rust_run_program(const char* argv[], assert(!result && "chdir failed"); } -#ifdef __APPLE__ if (envp) { +#ifdef __APPLE__ *_NSGetEnviron() = (char **)envp; - } - execvp(argv[0], (char * const *)argv); -#elif __FreeBSD__ || (defined(__linux__) && defined(RUST_SNAPSHOT)) - if (envp) { environ = (char **)envp; } - execvp(argv[0], (char * const *)argv); #else - if (!envp) { envp = environ; } - execvpe(argv[0], (char * const *)argv, (char * const *)envp); + environ = (char **)envp; #endif + } + execvp(argv[0], (char * const *)argv); exit(1); } |
