diff options
Diffstat (limited to 'src/block.c')
| -rw-r--r-- | src/block.c | 14 |
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); + } +} |
