aboutsummaryrefslogtreecommitdiff
path: root/src/block.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/block.c')
-rw-r--r--src/block.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/block.c b/src/block.c
index 3d558d1..e739ceb 100644
--- a/src/block.c
+++ b/src/block.c
@@ -23,3 +23,17 @@ void block_update(block_t *block)
block_update(&block->group.children[i]);
}
}
+
+void block_free(block_t *block)
+{
+ free(block->label);
+
+ if (block->type == BLOCK_TEXT) {
+ free(block->text.text);
+ } else if (block->type == BLOCK_GROUP) {
+ for (int i = 0; i < block->group.n_children; i++)
+ block_free(&block->group.children[i]);
+
+ free(block->group.children);
+ }
+}