From dbfee6a468172899759a86c7bf50169053adce45 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 9 Mar 2017 17:02:38 +0000 Subject: Move server_fill_environ into environ.c and move some other common code into it. --- environ.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'environ.c') diff --git a/environ.c b/environ.c index 4bb794dd..868324ed 100644 --- a/environ.c +++ b/environ.c @@ -20,6 +20,7 @@ #include #include +#include #include "tmux.h" @@ -218,3 +219,28 @@ environ_log(struct environ *env, const char *prefix) } } } + +/* Create initial environment for new child. */ +struct environ * +environ_for_session(struct session *s) +{ + struct environ *env; + const char *value; + int idx; + + env = environ_create(); + environ_copy(global_environ, env); + if (s != NULL) + environ_copy(s->environ, env); + + value = options_get_string(global_options, "default-terminal"); + environ_set(env, "TERM", "%s", value); + + if (s != NULL) + idx = s->id; + else + idx = -1; + environ_set(env, "TMUX", "%s,%ld,%d", socket_path, (long)getpid(), idx); + + return (env); +} -- cgit