From d394293ba59fc932085eb8c01592822a9b1ec1f7 Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 15 Sep 2023 06:31:49 +0000 Subject: Add -t to source-file, GitHub issue 3473. --- cfg.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'cfg.c') diff --git a/cfg.c b/cfg.c index e92ce36f..98254fdb 100644 --- a/cfg.c +++ b/cfg.c @@ -67,6 +67,7 @@ start_cfg(void) { struct client *c; u_int i; + int flags = 0; /* * Configuration files are loaded without a client, so commands are run @@ -84,19 +85,17 @@ start_cfg(void) cmdq_append(c, cfg_item); } - 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); - } + if (cfg_quiet) + flags = CMD_PARSE_QUIET; + for (i = 0; i < cfg_nfiles; i++) + load_cfg(cfg_files[i], c, NULL, NULL, flags, NULL); cmdq_append(NULL, cmdq_get_callback(cfg_done, NULL)); } int -load_cfg(const char *path, struct client *c, struct cmdq_item *item, int flags, - struct cmdq_item **new_item) +load_cfg(const char *path, struct client *c, struct cmdq_item *item, + struct cmd_find_state *current, int flags, struct cmdq_item **new_item) { FILE *f; struct cmd_parse_input pi; @@ -135,7 +134,7 @@ load_cfg(const char *path, struct client *c, struct cmdq_item *item, int flags, } if (item != NULL) - state = cmdq_copy_state(cmdq_get_state(item)); + state = cmdq_copy_state(cmdq_get_state(item), current); else state = cmdq_new_state(NULL, NULL, 0); cmdq_add_format(state, "current_file", "%s", pi.file); @@ -155,8 +154,8 @@ load_cfg(const char *path, struct client *c, struct cmdq_item *item, int flags, int load_cfg_from_buffer(const void *buf, size_t len, const char *path, - struct client *c, struct cmdq_item *item, int flags, - struct cmdq_item **new_item) + struct client *c, struct cmdq_item *item, struct cmd_find_state *current, + int flags, struct cmdq_item **new_item) { struct cmd_parse_input pi; struct cmd_parse_result *pr; @@ -187,7 +186,7 @@ load_cfg_from_buffer(const void *buf, size_t len, const char *path, } if (item != NULL) - state = cmdq_copy_state(cmdq_get_state(item)); + state = cmdq_copy_state(cmdq_get_state(item), current); else state = cmdq_new_state(NULL, NULL, 0); cmdq_add_format(state, "current_file", "%s", pi.file); -- cgit v1.2.3