Prefer PWD for current directory if present in client, from Wei Zhao in

GitHub issue 1183.
This commit is contained in:
nicm 2018-01-01 11:19:08 +00:00
parent fe26f977e6
commit d17c90583a
2 changed files with 8 additions and 7 deletions

View File

@ -279,10 +279,10 @@ client_main(struct event_base *base, int argc, char **argv, int flags)
client_peer = proc_add_peer(client_proc, fd, client_dispatch, NULL);
/* Save these before pledge(). */
if ((cwd = getcwd(path, sizeof path)) == NULL) {
if ((cwd = find_home()) == NULL)
cwd = "/";
}
if ((cwd = getenv("PWD")) == NULL &&
(cwd = getcwd(path, sizeof path)) == NULL &&
(cwd = find_home()) == NULL)
cwd = "/";
if ((ttynam = ttyname(STDIN_FILENO)) == NULL)
ttynam = "";

7
tmux.c
View File

@ -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);