From b02cd353543cb47ddaf079bd42f94696703f2667 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sun, 4 Apr 2010 19:02:09 +0000 Subject: Run job commands explicitly in the global enviroment (which can be modified with setenv -g) rather than with the environment tmux started with. --- window.c | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) (limited to 'window.c') diff --git a/window.c b/window.c index 4a801a76..00c03f6e 100644 --- a/window.c +++ b/window.c @@ -480,14 +480,11 @@ int window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell, const char *cwd, struct environ *env, struct termios *tio, char **cause) { - struct winsize ws; - int mode; - char *argv0, **varp, *var; - ARRAY_DECL(, char *) varlist; - struct environ_entry *envent; - const char *ptr; - struct termios tio2; - u_int i; + struct winsize ws; + int mode; + char *argv0; + const char *ptr; + struct termios tio2; if (wp->fd != -1) { close(wp->fd); @@ -530,20 +527,7 @@ window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell, if (tcsetattr(STDIN_FILENO, TCSANOW, &tio2) != 0) fatal("tcgetattr failed"); - ARRAY_INIT(&varlist); - for (varp = environ; *varp != NULL; varp++) { - var = xstrdup(*varp); - var[strcspn(var, "=")] = '\0'; - ARRAY_ADD(&varlist, var); - } - for (i = 0; i < ARRAY_LENGTH(&varlist); i++) { - var = ARRAY_ITEM(&varlist, i); - unsetenv(var); - } - RB_FOREACH(envent, environ, env) { - if (envent->value != NULL) - setenv(envent->name, envent->value, 1); - } + environ_push(env); server_signal_clear(); log_close(); -- cgit