diff options
Diffstat (limited to 'usr.bin/tmux/tmux.c')
-rw-r--r-- | usr.bin/tmux/tmux.c | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/usr.bin/tmux/tmux.c b/usr.bin/tmux/tmux.c index bfb5eaa7b2e..23aab622f1e 100644 --- a/usr.bin/tmux/tmux.c +++ b/usr.bin/tmux/tmux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.c,v 1.125 2013/10/10 12:26:36 nicm Exp $ */ +/* $OpenBSD: tmux.c,v 1.126 2013/10/10 12:29:35 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -49,11 +49,8 @@ time_t start_time; char socket_path[MAXPATHLEN]; int login_shell; char *environ_path; -pid_t environ_pid = -1; -int environ_session_id = -1; __dead void usage(void); -void parseenvironment(void); char *makesocketpath(const char *); __dead void @@ -124,23 +121,6 @@ areshell(const char *shell) return (0); } -void -parseenvironment(void) -{ - char *env, path[256]; - long pid; - int id; - - if ((env = getenv("TMUX")) == NULL) - return; - - if (sscanf(env, "%255[^,],%ld,%d", path, &pid, &id) != 3) - return; - environ_path = xstrdup(path); - environ_pid = pid; - environ_session_id = id; -} - char * makesocketpath(const char *label) { @@ -223,7 +203,9 @@ main(int argc, char **argv) { struct passwd *pw; char *s, *path, *label, *home, **var, tmp[MAXPATHLEN]; - int opt, flags, quiet, keys; + char in[256]; + long long pid; + int opt, flags, quiet, keys, session; #ifdef DEBUG malloc_options = (char *) "AFGJPX"; @@ -351,11 +333,15 @@ main(int argc, char **argv) } } + /* Get path from environment. */ + s = getenv("TMUX"); + if (s != NULL && sscanf(s, "%255[^,],%lld,%d", in, &pid, &session) == 3) + environ_path = xstrdup(in); + /* * Figure out the socket path. If specified on the command-line with -S * or -L, use it, otherwise try $TMUX or assume -L default. */ - parseenvironment(); if (path == NULL) { /* If no -L, use the environment. */ if (label == NULL) { |