diff options
Diffstat (limited to 'src/pty-unix.c')
-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, " $")) { |