diff options
Diffstat (limited to 'tmux.c')
-rw-r--r-- | tmux.c | 25 |
1 files changed, 12 insertions, 13 deletions
@@ -1,4 +1,4 @@ -/* $Id$ */ +/* $OpenBSD$ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -22,6 +22,7 @@ #include <errno.h> #include <event.h> #include <fcntl.h> +#include <getopt.h> #include <locale.h> #include <pwd.h> #include <stdlib.h> @@ -45,7 +46,7 @@ char *cfg_file; char *shell_cmd; int debug_level; time_t start_time; -char socket_path[MAXPATHLEN]; +char socket_path[PATH_MAX]; int login_shell; char *environ_path; @@ -73,7 +74,7 @@ logfile(const char *name) if (debug_level > 0) { xasprintf(&path, "tmux-%s-%ld.log", name, (long) getpid()); - log_open(debug_level, path); + log_open(path); free(path); } } @@ -127,13 +128,13 @@ areshell(const char *shell) char * makesocketpath(const char *label) { - char base[MAXPATHLEN], realbase[MAXPATHLEN], *path, *s; + char base[PATH_MAX], realbase[PATH_MAX], *path, *s; struct stat sb; u_int uid; uid = getuid(); if ((s = getenv("TMUX_TMPDIR")) != NULL && *s != '\0') - xsnprintf(base, sizeof base, "%s/", s); + xsnprintf(base, sizeof base, "%s/tmux-%u", s, uid); else if ((s = getenv("TMPDIR")) != NULL && *s != '\0') xsnprintf(base, sizeof base, "%s/tmux-%u", s, uid); else @@ -148,8 +149,7 @@ makesocketpath(const char *label) errno = ENOTDIR; return (NULL); } - if (sb.st_uid != uid || (!S_ISDIR(sb.st_mode) && - sb.st_mode & (S_IRWXG|S_IRWXO)) != 0) { + if (sb.st_uid != uid || (sb.st_mode & S_IRWXO) != 0) { errno = EACCES; return (NULL); } @@ -205,11 +205,11 @@ int main(int argc, char **argv) { struct passwd *pw; - char *s, *path, *label, **var, tmp[MAXPATHLEN]; + char *s, *path, *label, **var, tmp[PATH_MAX]; char in[256]; const char *home; long long pid; - int opt, flags, quiet, keys, session; + int opt, flags, keys, session; #if defined(DEBUG) && defined(__OpenBSD__) malloc_options = (char *) "AFGJPX"; @@ -217,7 +217,7 @@ main(int argc, char **argv) setlocale(LC_TIME, ""); - quiet = flags = 0; + flags = 0; label = path = NULL; login_shell = (**argv == '-'); while ((opt = getopt(argc, argv, "2c:Cdf:lL:qS:uUVv")) != -1) { @@ -250,7 +250,6 @@ main(int argc, char **argv) label = xstrdup(optarg); break; case 'q': - quiet = 1; break; case 'S': free(path); @@ -297,11 +296,11 @@ main(int argc, char **argv) options_init(&global_options, NULL); options_table_populate_tree(server_options_table, &global_options); - options_set_number(&global_options, "quiet", quiet); options_init(&global_s_options, NULL); options_table_populate_tree(session_options_table, &global_s_options); - options_set_string(&global_s_options, "default-shell", "%s", getshell()); + options_set_string(&global_s_options, "default-shell", "%s", + getshell()); options_init(&global_w_options, NULL); options_table_populate_tree(window_options_table, &global_w_options); |