aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2016-06-04 03:18:10 -0400
committerJesse Luehrs <doy@tozt.net>2016-06-04 03:18:10 -0400
commit9e9bb0764d81c34c837748f9fade0cbb7aba582f (patch)
treed30a46b5df2dcbdd3149bb60f04d2af5b3bc0236
parentacbce860a3e5029b3a585f1ee202da406f7e3b80 (diff)
downloadrunes-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
-rw-r--r--src/pty-unix.c20
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, " $")) {