diff options
author | nicm <nicm> | 2021-02-22 08:18:13 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-02-22 08:18:13 +0000 |
commit | 6876381276ff2c2a40d304ada27651fdaf1cd8a7 (patch) | |
tree | 1b38398f851f7062ea015584b660a327c5939165 /cfg.c | |
parent | e858270006a9041b9016ed9e6cc12d622ac8fe31 (diff) | |
download | rtmux-6876381276ff2c2a40d304ada27651fdaf1cd8a7.tar.gz rtmux-6876381276ff2c2a40d304ada27651fdaf1cd8a7.tar.bz2 rtmux-6876381276ff2c2a40d304ada27651fdaf1cd8a7.zip |
Move config file path expansion much earlier, keep the list of paths
around rather than freeing later, and add a config_files format variable
containing it. Suggested by kn@ a while back.
Diffstat (limited to 'cfg.c')
-rw-r--r-- | cfg.c | 30 |
1 files changed, 11 insertions, 19 deletions
@@ -28,12 +28,15 @@ #include "tmux.h" struct client *cfg_client; -static char *cfg_file; int cfg_finished; static char **cfg_causes; static u_int cfg_ncauses; static struct cmdq_item *cfg_item; +int cfg_quiet = 1; +char **cfg_files; +u_int cfg_nfiles; + static enum cmd_retval cfg_client_done(__unused struct cmdq_item *item, __unused void *data) { @@ -61,18 +64,10 @@ cfg_done(__unused struct cmdq_item *item, __unused void *data) } void -set_cfg_file(const char *path) -{ - free(cfg_file); - cfg_file = xstrdup(path); -} - -void start_cfg(void) { struct client *c; - char **paths; - u_int i, n; + u_int i; /* * Configuration files are loaded without a client, so commands are run @@ -90,15 +85,12 @@ start_cfg(void) cmdq_append(c, cfg_item); } - if (cfg_file == NULL) { - expand_paths(TMUX_CONF, &paths, &n); - for (i = 0; i < n; i++) { - load_cfg(paths[i], c, NULL, CMD_PARSE_QUIET, NULL); - free(paths[i]); - } - free(paths); - } else - load_cfg(cfg_file, c, NULL, 0, NULL); + for (i = 0; i < cfg_nfiles; i++) { + if (cfg_quiet) + load_cfg(cfg_files[i], c, NULL, CMD_PARSE_QUIET, NULL); + else + load_cfg(cfg_files[i], c, NULL, 0, NULL); + } cmdq_append(NULL, cmdq_get_callback(cfg_done, NULL)); } |