about summary refs log tree commit diff
path: root/src/rt/rust_run_program.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_run_program.cpp')
-rw-r--r--src/rt/rust_run_program.cpp12
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);
 }