aboutsummaryrefslogtreecommitdiff
path: root/tmux.c
diff options
context:
space:
mode:
authornicm <nicm>2018-01-01 11:19:08 +0000
committernicm <nicm>2018-01-01 11:19:08 +0000
commitd17c90583a2cbbb15ec1a357380b0985e6472a5f (patch)
tree5e0fce407aba9d94b72c88a6b5e05b44b7311baf /tmux.c
parentfe26f977e6fe81c1bedf251cc1da6cf3792a9f97 (diff)
downloadrtmux-d17c90583a2cbbb15ec1a357380b0985e6472a5f.tar.gz
rtmux-d17c90583a2cbbb15ec1a357380b0985e6472a5f.tar.bz2
rtmux-d17c90583a2cbbb15ec1a357380b0985e6472a5f.zip
Prefer PWD for current directory if present in client, from Wei Zhao in
GitHub issue 1183.
Diffstat (limited to 'tmux.c')
-rw-r--r--tmux.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tmux.c b/tmux.c
index b8a73fd9..b8ecfecc 100644
--- a/tmux.c
+++ b/tmux.c
@@ -193,7 +193,7 @@ main(int argc, char **argv)
{
char *path, *label, **var;
char tmp[PATH_MAX];
- const char *s, *shell;
+ const char *s, *shell, *cwd;
int opt, flags, keys;
const struct options_table_entry *oe;
@@ -294,8 +294,9 @@ main(int argc, char **argv)
global_environ = environ_create();
for (var = environ; *var != NULL; var++)
environ_put(global_environ, *var);
- if (getcwd(tmp, sizeof tmp) != NULL)
- environ_set(global_environ, "PWD", "%s", tmp);
+ if ((cwd = getenv("PWD")) == NULL &&
+ (cwd = getcwd(tmp, sizeof tmp)) != NULL)
+ environ_set(global_environ, "PWD", "%s", cwd);
global_options = options_create(NULL);
global_s_options = options_create(NULL);