aboutsummaryrefslogtreecommitdiff
path: root/window.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-08-12 09:14:25 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-08-12 09:14:25 +0000
commit9a52ef099a28eb1c80f265d122567a4ccf31ba3a (patch)
treea7591f0b79a00dc019049093621677215380fca3 /window.c
parent85e8b70625c415e25b332e59152f6383a49afa5d (diff)
downloadrtmux-9a52ef099a28eb1c80f265d122567a4ccf31ba3a.tar.gz
rtmux-9a52ef099a28eb1c80f265d122567a4ccf31ba3a.tar.bz2
rtmux-9a52ef099a28eb1c80f265d122567a4ccf31ba3a.zip
When started as the shell, __progname contains a leading -, so hardcode "tmux"
for socket path and log files, and strip it when working out the shell.
Diffstat (limited to 'window.c')
-rw-r--r--window.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/window.c b/window.c
index d24d789b..cfef2b24 100644
--- a/window.c
+++ b/window.c
@@ -62,6 +62,7 @@ const char *
window_default_command(void)
{
const char *shell, *ptr;
+ char *progname;
struct passwd *pw;
shell = getenv("SHELL");
@@ -81,7 +82,10 @@ found:
ptr++;
else
ptr = shell;
- if (strcmp(ptr, __progname) == 0)
+ progname = __progname;
+ if (*progname == '-')
+ progname++;
+ if (strcmp(ptr, progname) == 0)
return (_PATH_BSHELL);
return (shell);
}