mirror of
https://github.com/tmux/tmux.git
synced 2025-01-05 15:28:50 +00:00
Sync OpenBSD patchset 249:
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.
This commit is contained in:
parent
1063e5d0e4
commit
06b3f49c49
7
tmux.c
7
tmux.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tmux.c,v 1.160 2009-08-14 21:04:04 tcunha Exp $ */
|
/* $Id: tmux.c,v 1.161 2009-08-14 21:28:00 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -88,8 +88,7 @@ logfile(const char *name)
|
|||||||
|
|
||||||
log_close();
|
log_close();
|
||||||
if (debug_level > 0) {
|
if (debug_level > 0) {
|
||||||
xasprintf(
|
xasprintf(&path, "tmux-%s-%ld.log", name, (long) getpid());
|
||||||
&path, "%s-%s-%ld.log", __progname, name, (long) getpid());
|
|
||||||
log_open_file(debug_level, path);
|
log_open_file(debug_level, path);
|
||||||
xfree(path);
|
xfree(path);
|
||||||
}
|
}
|
||||||
@ -193,7 +192,7 @@ makesockpath(const char *label)
|
|||||||
u_int uid;
|
u_int uid;
|
||||||
|
|
||||||
uid = getuid();
|
uid = getuid();
|
||||||
xsnprintf(base, MAXPATHLEN, "%s/%s-%d", _PATH_TMP, __progname, uid);
|
xsnprintf(base, MAXPATHLEN, "%s/tmux-%d", _PATH_TMP, uid);
|
||||||
|
|
||||||
if (mkdir(base, S_IRWXU) != 0 && errno != EEXIST)
|
if (mkdir(base, S_IRWXU) != 0 && errno != EEXIST)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
|
8
window.c
8
window.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: window.c,v 1.101 2009-08-14 21:23:20 tcunha Exp $ */
|
/* $Id: window.c,v 1.102 2009-08-14 21:28:00 tcunha Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -60,6 +60,7 @@ const char *
|
|||||||
window_default_command(void)
|
window_default_command(void)
|
||||||
{
|
{
|
||||||
const char *shell, *ptr;
|
const char *shell, *ptr;
|
||||||
|
char *progname;
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
|
|
||||||
shell = getenv("SHELL");
|
shell = getenv("SHELL");
|
||||||
@ -79,7 +80,10 @@ found:
|
|||||||
ptr++;
|
ptr++;
|
||||||
else
|
else
|
||||||
ptr = shell;
|
ptr = shell;
|
||||||
if (strcmp(ptr, __progname) == 0)
|
progname = __progname;
|
||||||
|
if (*progname == '-')
|
||||||
|
progname++;
|
||||||
|
if (strcmp(ptr, progname) == 0)
|
||||||
return (_PATH_BSHELL);
|
return (_PATH_BSHELL);
|
||||||
return (shell);
|
return (shell);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user