=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-split-window.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- src/usr.bin/tmux/cmd-split-window.c 2015/10/27 15:58:42 1.59 +++ src/usr.bin/tmux/cmd-split-window.c 2015/10/28 09:51:55 1.60 @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-split-window.c,v 1.59 2015/10/27 15:58:42 nicm Exp $ */ +/* $OpenBSD: cmd-split-window.c,v 1.60 2015/10/28 09:51:55 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -52,7 +52,7 @@ struct winlink *wl; struct window *w; struct window_pane *wp, *new_wp = NULL; - struct environ env; + struct environ *env; const char *cmd, *path, *shell, *template; char **argv, *cause, *new_cause, *cp; u_int hlimit; @@ -67,10 +67,10 @@ w = wl->window; server_unzoom_window(w); - environ_init(&env); - environ_copy(&global_environ, &env); - environ_copy(&s->environ, &env); - server_fill_environ(s, &env); + env = environ_create(); + environ_copy(global_environ, env); + environ_copy(s->environ, env); + server_fill_environ(s, env); if (args->argc == 0) { cmd = options_get_string(s->options, "default-command"); @@ -151,13 +151,13 @@ path = NULL; if (cmdq->client != NULL && cmdq->client->session == NULL) - envent = environ_find(&cmdq->client->environ, "PATH"); + envent = environ_find(cmdq->client->environ, "PATH"); else - envent = environ_find(&s->environ, "PATH"); + envent = environ_find(s->environ, "PATH"); if (envent != NULL) path = envent->value; - if (window_pane_spawn(new_wp, argc, argv, path, shell, cwd, &env, + if (window_pane_spawn(new_wp, argc, argv, path, shell, cwd, env, s->tio, &cause) != 0) goto error; @@ -170,7 +170,7 @@ } else server_status_session(s); - environ_free(&env); + environ_free(env); if (args_has(args, 'P')) { if ((template = args_get(args, 'F')) == NULL) @@ -193,7 +193,7 @@ return (CMD_RETURN_NORMAL); error: - environ_free(&env); + environ_free(env); if (new_wp != NULL) { layout_close_pane(new_wp); window_remove_pane(w, new_wp);