diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2015-09-01 10:01:57 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2015-09-01 10:01:57 +0000 |
commit | 3f731f511581db20a4b8b0d3091216360fb21229 (patch) | |
tree | 2cc06012c81075ce986e320677771764f99889e4 | |
parent | 139d1399389601b5d2f1a58a44198692bc417ad4 (diff) |
Move initial conf load into cfg.c.
-rw-r--r-- | usr.bin/tmux/cfg.c | 45 | ||||
-rw-r--r-- | usr.bin/tmux/server.c | 25 | ||||
-rw-r--r-- | usr.bin/tmux/tmux.h | 5 |
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 *); |