diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-08-29 21:41:10 -0400 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-08-29 21:41:10 -0400 |
commit | f4ab531029fabaf0901e35808a1d5088869410c5 (patch) | |
tree | 24fd960b355388b5e37bbba84d41008f9583d93b /src | |
parent | 7c7d40dc682668a545ffd32fb3865b05ebe41eb3 (diff) |
engine: handle config.cfg source for eachdo
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/eachdo.c | 12 | ||||
-rw-r--r-- | src/msg.c | 2 | ||||
-rw-r--r-- | src/template.c | 2 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/engine/eachdo.c b/src/engine/eachdo.c index 2b1cf07..1bebfd9 100644 --- a/src/engine/eachdo.c +++ b/src/engine/eachdo.c @@ -154,10 +154,10 @@ handle_file_source(list_t *atoms, } void -handle_page_source(list_t *atoms, - eachdo_operands_t *operands, - list_t *directives, - config_t *config) +handle_config_source(list_t *atoms, + eachdo_operands_t *operands, + list_t *directives, + config_t *config) { if (config == NULL) { printf("EACHDO with page variables as a source will not work without " @@ -210,7 +210,9 @@ handle_eachdo(char **buffer, if (!strcmp(operands->source, "resources")) handle_file_source(atoms, operands, directives); else if (!strcmp(operands->source, "page")) - handle_page_source(atoms, operands, directives, config); + handle_config_source(atoms, operands, directives, config); + else if (!strcmp(operands->source, "config")) + handle_config_source(atoms, operands, directives, msg->config); else printf("Unknown source: %s\n", operands->source); @@ -160,6 +160,8 @@ run(bool log) if (config == NULL) return EXIT_FAILURE; + msg->config = config; + template_initialize(); int err = mkdir(msg->output_directory, 0700); diff --git a/src/template.c b/src/template.c index c228ffe..ee15516 100644 --- a/src/template.c +++ b/src/template.c @@ -205,7 +205,7 @@ template_write(engine_t *engine, FILE *f, void *doc, bool is_markdown) list_t *atoms = list_create(sizeof(ptr_wrapper_t)); list_t *directives = lex(operands->content); - handle_page_source(atoms, operands, directives, engine->config); + handle_config_source(atoms, operands, directives, engine->config); for (size_t i = 0; i < atoms->size; i++) { atom_t *atom = list_get(atoms, i); |