From 9843c8735a5a886252858a848c473cb877875ef4 Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Sat, 16 Nov 2024 00:07:14 +0100 Subject: Link scheme with block --- src/block.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/block.c') diff --git a/src/block.c b/src/block.c index 6a7311e..c844e9b 100644 --- a/src/block.c +++ b/src/block.c @@ -5,6 +5,21 @@ #include "util.h" #include "any_log.h" +extern const block_scheme_t block_text_scheme; +extern const block_scheme_t block_group_scheme; +extern const block_scheme_t block_ram_scheme; +extern const block_scheme_t block_fs_scheme; +extern const block_scheme_t block_date_scheme; + +const block_scheme_t *block_schemes[] = { + &block_text_scheme, + &block_group_scheme, + &block_ram_scheme, + &block_fs_scheme, + &block_date_scheme, + NULL, +}; + void block_update(block_t *block) { if (block->update_fn != NULL) { @@ -34,7 +49,8 @@ void block_update(block_t *block) void block_free(block_t *block) { free(block->label); - assert(block->clean_fn != NULL); - block->clean_fn(block); + assert(block->scheme != NULL); + assert(block->scheme->clean_fn != NULL); + block->scheme->clean_fn(block); free(block); } -- cgit v1.2.3