diff options
Diffstat (limited to 'guts/execve.c')
-rw-r--r-- | guts/execve.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/guts/execve.c b/guts/execve.c index 2bad0bf..7cb6632 100644 --- a/guts/execve.c +++ b/guts/execve.c @@ -14,10 +14,13 @@ * design will likely be revisited. */ pseudo_client_op(OP_EXEC, PSA_EXEC, -1, -1, filename, 0); - if (!getenv("PSEUDO_RELOADED")) - new_environ = pseudo_setupenv(envp, getenv("PSEUDO_OPTS")); - else - new_environ = envp; + if (!pseudo_get_value("PSEUDO_RELOADED")) + new_environ = pseudo_setupenvp(envp); + else { + new_environ = pseudo_setupenvp(envp); + new_environ = pseudo_dropenvp(new_environ); + } + rc = real_execve(filename, argv, new_environ); /* return rc; |