diff options
author | Jesse Luehrs <doy@tozt.net> | 2016-06-04 03:18:10 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2016-06-04 03:18:10 -0400 |
commit | 9e9bb0764d81c34c837748f9fade0cbb7aba582f (patch) | |
tree | d30a46b5df2dcbdd3149bb60f04d2af5b3bc0236 /src | |
parent | acbce860a3e5029b3a585f1ee202da406f7e3b80 (diff) | |
download | runes-9e9bb0764d81c34c837748f9fade0cbb7aba582f.tar.gz runes-9e9bb0764d81c34c837748f9fade0cbb7aba582f.zip |
don't overwrite our env changes with a passed in env
our changes always need to happen, on top of whatever env was passed in
Diffstat (limited to 'src')
-rw-r--r-- | src/pty-unix.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/pty-unix.c b/src/pty-unix.c index 376a92d..8eed477 100644 --- a/src/pty-unix.c +++ b/src/pty-unix.c @@ -65,12 +65,12 @@ void runes_pty_spawn_subprocess(RunesTerm *t, char *envp[], char *cwd) close(pty->slave); - cmd = t->config->cmd; - if (!cmd) { - cmd = getenv("SHELL"); + if (cwd) { + chdir(cwd); } - if (!cmd) { - cmd = "/bin/sh"; + + if (envp) { + environ = envp; } /* XXX should use a different TERM value eventually, but for right now @@ -92,12 +92,12 @@ void runes_pty_spawn_subprocess(RunesTerm *t, char *envp[], char *cwd) unsetenv("LINES"); unsetenv("COLUMNS"); - if (cwd) { - chdir(cwd); + cmd = t->config->cmd; + if (!cmd) { + cmd = getenv("SHELL"); } - - if (envp) { - environ = envp; + if (!cmd) { + cmd = "/bin/sh"; } if (strpbrk(cmd, " $")) { |