diff options
-rw-r--r-- | tmux.1 | 7 | ||||
-rw-r--r-- | tmux.c | 9 |
2 files changed, 11 insertions, 5 deletions
@@ -1,4 +1,4 @@ -.\" $Id: tmux.1,v 1.292 2011-01-21 23:45:34 tcunha Exp $ +.\" $Id: tmux.1,v 1.293 2011-01-21 23:46:50 tcunha Exp $ .\" .\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> .\" @@ -134,7 +134,10 @@ will report an error and exit without executing further commands. .It Fl L Ar socket-name .Nm stores the server socket in a directory under -.Pa /tmp ; +.Pa /tmp +(or +.Ev TMPDIR +if set); the default socket is named .Em default . This option allows a different socket name to be specified, allowing several @@ -1,4 +1,4 @@ -/* $Id: tmux.c,v 1.234 2011-01-21 23:44:13 tcunha Exp $ */ +/* $Id: tmux.c,v 1.235 2011-01-21 23:46:50 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -172,12 +172,15 @@ parseenvironment(void) char * makesocketpath(const char *label) { - char base[MAXPATHLEN], *path; + char base[MAXPATHLEN], *path, *s; struct stat sb; u_int uid; uid = getuid(); - xsnprintf(base, MAXPATHLEN, "%s/tmux-%d", _PATH_TMP, uid); + if ((s = getenv("TMPDIR")) == NULL || *s == '\0') + xsnprintf(base, sizeof base, "%s/tmux-%u", _PATH_TMP, uid); + else + xsnprintf(base, sizeof base, "%s/tmux-%u", s, uid); if (mkdir(base, S_IRWXU) != 0 && errno != EEXIST) return (NULL); |