version 1.23, 2009/09/01 13:09:50 |
version 1.24, 2009/09/01 14:40:33 |
|
|
log_close(); |
log_close(); |
|
|
if (*wp->cmd != '\0') { |
if (*wp->cmd != '\0') { |
|
/* Set SHELL but only if it is currently not useful. */ |
|
shell = getenv("SHELL"); |
|
if (shell == NULL || *shell == '\0' || areshell(shell)) |
|
setenv("SHELL", wp->shell, 1); |
|
|
execl(_PATH_BSHELL, "sh", "-c", wp->cmd, (char *) NULL); |
execl(_PATH_BSHELL, "sh", "-c", wp->cmd, (char *) NULL); |
fatal("execl failed"); |
fatal("execl failed"); |
} |
} |
|
|
xasprintf(&argv0, "-%s", ptr + 1); |
xasprintf(&argv0, "-%s", ptr + 1); |
else |
else |
xasprintf(&argv0, "-%s", wp->shell); |
xasprintf(&argv0, "-%s", wp->shell); |
|
setenv("SHELL", wp->shell, 1); |
execl(wp->shell, argv0, (char *) NULL); |
execl(wp->shell, argv0, (char *) NULL); |
fatal("execl failed"); |
fatal("execl failed"); |
} |
} |