aboutsummaryrefslogtreecommitdiff
path: root/src/template.c
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-07-30 08:56:02 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2025-07-30 08:56:02 +0530
commit0fed46c5c3b5d278b63110fc4b73ab0a6bb883bb (patch)
tree9f9eb7f2f6667e6af910870b0ffde130a7963c60 /src/template.c
parent95f8623d7491e7091120c35b38aec7ec13894911 (diff)
template: template_delete() must also free operands
Diffstat (limited to 'src/template.c')
-rw-r--r--src/template.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/template.c b/src/template.c
index a819aba..a24736f 100644
--- a/src/template.c
+++ b/src/template.c
@@ -38,6 +38,19 @@ template_create(void)
void
template_delete(template_t *template)
{
+ for (size_t i = 0; i < template->components->size; i++) {
+ directive_t *directive = list_get(template->components, i);
+ switch (directive->type) {
+ case _RAW:
+ case CONTENT:
+ free(directive->operands);
+ break;
+
+ default:
+ break;
+ }
+ }
+
list_delete(template->components);
free(template);
}