diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-08-29 14:10:14 -0400 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-08-29 14:10:14 -0400 |
commit | d9e9613782af1f0d224d73d61f48bb02ad20032f (patch) | |
tree | 11d10b1d03298810b72c1c6e76ca0bba853104ea /src/engine/engine.c | |
parent | 2d045681d02f981bd610dad0eec7e43ad7fc9f9f (diff) |
engine: don't handle page source only if a template is being parsed
Diffstat (limited to 'src/engine/engine.c')
-rw-r--r-- | src/engine/engine.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/engine/engine.c b/src/engine/engine.c index a4606c2..683d39b 100644 --- a/src/engine/engine.c +++ b/src/engine/engine.c @@ -43,7 +43,7 @@ extern msg_t *msg; * It's only there to define the end of the EACHDO content block. */ engine_t * -engine_ingest(char **buffer) +engine_ingest(char **buffer, bool is_template) { engine_t *engine = malloc(sizeof(engine_t)); engine->config = NULL; @@ -103,14 +103,13 @@ engine_ingest(char **buffer) break; case EACHDO: { eachdo_operands_t *operands = directive->operands; - /* TODO: Don't handle page source only if a template is currently - * being parsed */ - if (!strcmp(operands->source, "page")) { + /* Don't handle page source only if a template is currently being + * parsed */ + if (is_template && !strcmp(operands->source, "page")) skip++; - break; - } + else + handle_eachdo(buffer, match, directive); - handle_eachdo(buffer, match, directive); break; } |