diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2013-10-10 12:28:57 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2013-10-10 12:28:57 +0000 |
commit | 65217d74cd8ea37b9ffd3fdd20459efeba0967bf (patch) | |
tree | b72d6afd767063f4187afc5afd94105e05ab1f2f | |
parent | f05d21f79e00841d2df472466c3d9054ac1a41e6 (diff) |
Remove now unused cmd_get_default_path.
-rw-r--r-- | usr.bin/tmux/cmd.c | 73 |
1 files changed, 1 insertions, 72 deletions
diff --git a/usr.bin/tmux/cmd.c b/usr.bin/tmux/cmd.c index dc866299417..323605fc020 100644 --- a/usr.bin/tmux/cmd.c +++ b/usr.bin/tmux/cmd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd.c,v 1.87 2013/10/10 12:07:36 nicm Exp $ */ +/* $OpenBSD: cmd.c,v 1.88 2013/10/10 12:28:56 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -1277,74 +1277,3 @@ cmd_template_replace(const char *template, const char *s, int idx) return (buf); } - -/* - * Return the default path for a new pane. Several special values are accepted: - * the empty string or relative path for the current working directory, - * ~ for the user's home, - for the base working directory, . for the server - * working directory. - */ -const char * -cmd_default_path(const char *base, const char *current, const char *in) -{ - const char *root; - struct environ_entry *envent; - char tmp[MAXPATHLEN]; - struct passwd *pw; - int n; - size_t skip; - static char path[MAXPATHLEN]; - - skip = 1; - if (strcmp(in, "$HOME") == 0 || strncmp(in, "$HOME/", 6) == 0) { - /* User's home directory - $HOME. */ - skip = 5; - goto find_home; - } else if (in[0] == '~' && (in[1] == '\0' || in[1] == '/')) { - /* User's home directory - ~. */ - goto find_home; - } else if (in[0] == '-' && (in[1] == '\0' || in[1] == '/')) { - /* Base working directory. */ - root = base; - goto complete_path; - } else if (in[0] == '.' && (in[1] == '\0' || in[1] == '/')) { - /* Server working directory. */ - if (getcwd(tmp, sizeof tmp) != NULL) { - root = tmp; - goto complete_path; - } - return ("/"); - } else if (*in == '/') { - /* Absolute path. */ - return (in); - } else { - /* Empty or relative path. */ - if (current != NULL) - root = current; - else - return (base); - skip = 0; - goto complete_path; - } - - return (base); - -find_home: - envent = environ_find(&global_environ, "HOME"); - if (envent != NULL && *envent->value != '\0') - root = envent->value; - else if ((pw = getpwuid(getuid())) != NULL) - root = pw->pw_dir; - else - return (base); - -complete_path: - if (root[skip] == '\0') { - strlcpy(path, root, sizeof path); - return (path); - } - n = snprintf(path, sizeof path, "%s/%s", root, in + skip); - if (n > 0 && (size_t)n < sizeof path) - return (path); - return (base); -} |