version 1.33, 2020/05/16 15:01:30 |
version 1.34, 2021/08/20 18:59:53 |
|
|
struct winlink *wl = target->wl; |
struct winlink *wl = target->wl; |
struct window_pane *wp = target->wp; |
struct window_pane *wp = target->wp; |
char *cause = NULL; |
char *cause = NULL; |
const char *add; |
struct args_value *av; |
struct args_value *value; |
|
|
|
memset(&sc, 0, sizeof sc); |
memset(&sc, 0, sizeof sc); |
sc.item = item; |
sc.item = item; |
|
|
sc.argv = args->argv; |
sc.argv = args->argv; |
sc.environ = environ_create(); |
sc.environ = environ_create(); |
|
|
add = args_first_value(args, 'e', &value); |
av = args_first_value(args, 'e'); |
while (add != NULL) { |
while (av != NULL) { |
environ_put(sc.environ, add, 0); |
environ_put(sc.environ, av->value, 0); |
add = args_next_value(&value); |
av = args_next_value(av); |
} |
} |
|
|
sc.idx = -1; |
sc.idx = -1; |
|
|
if (spawn_pane(&sc, &cause) == NULL) { |
if (spawn_pane(&sc, &cause) == NULL) { |
cmdq_error(item, "respawn pane failed: %s", cause); |
cmdq_error(item, "respawn pane failed: %s", cause); |
free(cause); |
free(cause); |
|
environ_free(sc.environ); |
return (CMD_RETURN_ERROR); |
return (CMD_RETURN_ERROR); |
} |
} |
|
|