aboutsummaryrefslogtreecommitdiff
path: root/tmux.c
diff options
context:
space:
mode:
Diffstat (limited to 'tmux.c')
-rw-r--r--tmux.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/tmux.c b/tmux.c
index 5429a7cb..c88b119d 100644
--- a/tmux.c
+++ b/tmux.c
@@ -23,9 +23,7 @@
#include <errno.h>
#include <event.h>
#include <fcntl.h>
-#include <getopt.h>
#include <locale.h>
-#include <paths.h>
#include <pwd.h>
#include <stdlib.h>
#include <string.h>
@@ -34,7 +32,7 @@
#include "tmux.h"
-#ifdef DEBUG
+#if defined(DEBUG) && defined(__OpenBSD__)
extern char *malloc_options;
#endif
@@ -51,11 +49,15 @@ char socket_path[PATH_MAX];
__dead void usage(void);
char *makesocketpath(const char *);
+#ifndef HAVE___PROGNAME
+char *__progname = (char *) "tmux";
+#endif
+
__dead void
usage(void)
{
fprintf(stderr,
- "usage: %s [-2Cluv] [-c shell-command] [-f file] [-L socket-name]\n"
+ "usage: %s [-2CluvV] [-c shell-command] [-f file] [-L socket-name]\n"
" [-S socket-path] [command [flags]]\n",
__progname);
exit(1);
@@ -195,7 +197,7 @@ main(int argc, char **argv)
const char *s;
int opt, flags, keys;
-#ifdef DEBUG
+#if defined(DEBUG) && defined(__OpenBSD__)
malloc_options = (char *) "AFGJPX";
#endif
@@ -208,7 +210,7 @@ main(int argc, char **argv)
flags = 0;
label = path = NULL;
- while ((opt = getopt(argc, argv, "2c:Cdf:lL:qS:uUv")) != -1) {
+ while ((opt = getopt(argc, argv, "2c:Cdf:lL:qS:uUVv")) != -1) {
switch (opt) {
case '2':
flags |= CLIENT_256COLOURS;
@@ -223,6 +225,9 @@ main(int argc, char **argv)
else
flags |= CLIENT_CONTROL;
break;
+ case 'V':
+ printf("%s %s\n", __progname, VERSION);
+ exit(0);
case 'f':
set_cfg_file(optarg);
break;
@@ -255,9 +260,11 @@ main(int argc, char **argv)
if (shell_cmd != NULL && argc != 0)
usage();
+#ifdef __OpenBSD__
if (pledge("stdio rpath wpath cpath flock fattr unix sendfd recvfd "
"proc exec tty ps", NULL) != 0)
err(1, "pledge");
+#endif
/*
* tmux is a UTF-8 terminal, so if TMUX is set, assume UTF-8.
@@ -347,5 +354,5 @@ main(int argc, char **argv)
free(path);
/* Pass control to the client. */
- exit(client_main(event_init(), argc, argv, flags));
+ exit(client_main(osdep_event_init(), argc, argv, flags));
}