If getcwd() fails, use the user's home directory, or /, instead of failing with

an error.
This commit is contained in:
Nicholas Marriott 2009-06-25 06:54:32 +00:00
parent be17ac1eb2
commit dbbb297d5f
1 changed files with 5 additions and 2 deletions

7
tmux.c
View File

@ -371,8 +371,11 @@ main(int argc, char **argv)
&global_options, "default-command", "exec %s -l", shell); &global_options, "default-command", "exec %s -l", shell);
if (getcwd(cwd, sizeof cwd) == NULL) { if (getcwd(cwd, sizeof cwd) == NULL) {
log_warn("getcwd"); pw = getpwuid(getuid());
exit(1); if (pw->pw_dir != NULL && *pw->pw_dir != '\0')
strlcpy(cwd, pw->pw_dir, sizeof cwd);
else
strlcpy(cwd, "/", sizeof cwd);
} }
options_set_string(&global_options, "default-path", "%s", cwd); options_set_string(&global_options, "default-path", "%s", cwd);