aboutsummaryrefslogtreecommitdiff
path: root/src/engine/engine.c
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-08-29 14:10:14 -0400
committerRaghuram Subramani <raghus2247@gmail.com>2025-08-29 14:10:14 -0400
commitd9e9613782af1f0d224d73d61f48bb02ad20032f (patch)
tree11d10b1d03298810b72c1c6e76ca0bba853104ea /src/engine/engine.c
parent2d045681d02f981bd610dad0eec7e43ad7fc9f9f (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.c13
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;
}