From 57eb948c480da7bb7b54680786521e41baecb2fe Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Fri, 21 Jan 2011 23:46:50 +0000 Subject: [PATCH] Sync OpenBSD patchset 838: Use TMPDIR if set, from Han Boetes. --- tmux.1 | 7 +++++-- tmux.c | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/tmux.1 b/tmux.1 index ef847bf7..f5d7fe5c 100644 --- a/tmux.1 +++ b/tmux.1 @@ -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 .\" @@ -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 diff --git a/tmux.c b/tmux.c index 83b213d2..5a2fb01b 100644 --- a/tmux.c +++ b/tmux.c @@ -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 @@ -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);