summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2015-09-01 10:01:57 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2015-09-01 10:01:57 +0000
commit3f731f511581db20a4b8b0d3091216360fb21229 (patch)
tree2cc06012c81075ce986e320677771764f99889e4
parent139d1399389601b5d2f1a58a44198692bc417ad4 (diff)
Move initial conf load into cfg.c.
-rw-r--r--usr.bin/tmux/cfg.c45
-rw-r--r--usr.bin/tmux/server.c25
-rw-r--r--usr.bin/tmux/tmux.h5
3 files changed, 44 insertions, 31 deletions
diff --git a/usr.bin/tmux/cfg.c b/usr.bin/tmux/cfg.c
index 442c65a28fb..e4d8b721b45 100644
--- a/usr.bin/tmux/cfg.c
+++ b/usr.bin/tmux/cfg.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cfg.c,v 1.39 2015/06/05 18:06:30 nicm Exp $ */
+/* $OpenBSD: cfg.c,v 1.40 2015/09/01 10:01:56 nicm Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -23,16 +23,47 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include <util.h>
#include "tmux.h"
-struct cmd_q *cfg_cmd_q;
-int cfg_finished;
-int cfg_references;
-char **cfg_causes;
-u_int cfg_ncauses;
-struct client *cfg_client;
+struct cmd_q *cfg_cmd_q;
+int cfg_finished;
+int cfg_references;
+char **cfg_causes;
+u_int cfg_ncauses;
+struct client *cfg_client;
+
+void cfg_default_done(struct cmd_q *);
+
+void
+start_cfg(void)
+{
+ char *cause = NULL;
+
+ cfg_cmd_q = cmdq_new(NULL);
+ cfg_cmd_q->emptyfn = cfg_default_done;
+
+ cfg_finished = 0;
+ cfg_references = 1;
+
+ cfg_client = TAILQ_FIRST(&clients);
+ if (cfg_client != NULL)
+ cfg_client->references++;
+
+ if (access(TMUX_CONF, R_OK) == 0) {
+ if (load_cfg(TMUX_CONF, cfg_cmd_q, &cause) == -1)
+ cfg_add_cause("%s: %s", TMUX_CONF, cause);
+ } else if (errno != ENOENT)
+ cfg_add_cause("%s: %s", TMUX_CONF, strerror(errno));
+
+ if (cfg_file != NULL && load_cfg(cfg_file, cfg_cmd_q, &cause) == -1)
+ cfg_add_cause("%s: %s", cfg_file, cause);
+ free(cause);
+
+ cmdq_continue(cfg_cmd_q);
+}
int
load_cfg(const char *path, struct cmd_q *cmdq, char **cause)
diff --git a/usr.bin/tmux/server.c b/usr.bin/tmux/server.c
index 53df569c3e3..bd479dc07d4 100644
--- a/usr.bin/tmux/server.c
+++ b/usr.bin/tmux/server.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server.c,v 1.138 2015/08/30 22:19:07 nicm Exp $ */
+/* $OpenBSD: server.c,v 1.139 2015/09/01 10:01:56 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -160,8 +160,7 @@ server_create_socket(void)
int
server_start(struct event_base *base, int lockfd, char *lockfile)
{
- int pair[2];
- char *cause;
+ int pair[2];
/* The first client is special and gets a socketpair; create it. */
if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, pair) != 0)
@@ -217,24 +216,8 @@ server_start(struct event_base *base, int lockfd, char *lockfile)
free(lockfile);
close(lockfd);
- cfg_cmd_q = cmdq_new(NULL);
- cfg_cmd_q->emptyfn = cfg_default_done;
- cfg_finished = 0;
- cfg_references = 1;
- cfg_client = TAILQ_FIRST(&clients);
- if (cfg_client != NULL)
- cfg_client->references++;
-
- if (access(TMUX_CONF, R_OK) == 0) {
- if (load_cfg(TMUX_CONF, cfg_cmd_q, &cause) == -1)
- cfg_add_cause("%s: %s", TMUX_CONF, cause);
- } else if (errno != ENOENT)
- cfg_add_cause("%s: %s", TMUX_CONF, strerror(errno));
- if (cfg_file != NULL) {
- if (load_cfg(cfg_file, cfg_cmd_q, &cause) == -1)
- cfg_add_cause("%s: %s", cfg_file, cause);
- }
- cmdq_continue(cfg_cmd_q);
+ start_cfg();
+
status_prompt_load_history();
server_add_accept(0);
diff --git a/usr.bin/tmux/tmux.h b/usr.bin/tmux/tmux.h
index fcd60c2f586..7a2bba02fa0 100644
--- a/usr.bin/tmux/tmux.h
+++ b/usr.bin/tmux/tmux.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: tmux.h,v 1.549 2015/09/01 09:48:34 nicm Exp $ */
+/* $OpenBSD: tmux.h,v 1.550 2015/09/01 10:01:56 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -1420,12 +1420,11 @@ void setblocking(int, int);
const char *find_home(void);
/* cfg.c */
-extern struct cmd_q *cfg_cmd_q;
extern int cfg_finished;
extern int cfg_references;
extern struct client *cfg_client;
+void start_cfg(void);
int load_cfg(const char *, struct cmd_q *, char **);
-void cfg_default_done(struct cmd_q *);
void cfg_add_cause(const char *, ...);
void cfg_print_causes(struct cmd_q *);
void cfg_show_causes(struct session *);