aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/fs.c
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2024-11-20 11:13:57 +0100
committerFederico Angelilli <code@fedang.net>2024-11-20 11:13:57 +0100
commiteb370ad9065ce222c1bfd6ae0576b9a0f6b3de22 (patch)
tree1b494821e4a70bc3c0ebce9feab8bf7c39f94397 /src/blocks/fs.c
parentbb63935e63365d842fe530629387d1d2a4248042 (diff)
Refactor block initialization
Diffstat (limited to 'src/blocks/fs.c')
-rw-r--r--src/blocks/fs.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/blocks/fs.c b/src/blocks/fs.c
index 6069d3e..39b669a 100644
--- a/src/blocks/fs.c
+++ b/src/blocks/fs.c
@@ -119,13 +119,12 @@ static void block_fs_update(block_t *block)
assert(fs->block.text != NULL);
}
-static block_t *block_fs_alloc(const block_scheme_t *scheme)
+static void block_fs_init(block_t *block, const block_scheme_t *scheme)
{
- block_t *block = calloc(1, sizeof(block_fs_t));
- block->type = BLOCK_TEXT;
+ extern const block_scheme_t block_text_scheme;
+ block_text_scheme.init_fn(block, scheme);
block->update_interval = block_fs_interval;
block->update_fn = block_fs_update;
- return block;
}
static void block_fs_clean(block_t *block)
@@ -180,7 +179,8 @@ static const config_entry_t block_fs_entries[] = {
const block_scheme_t block_fs_scheme = {
.name = "fs",
.entries = block_fs_entries,
- .alloc_fn = block_fs_alloc,
+ .size = sizeof(block_fs_t),
+ .init_fn = block_fs_init,
.clean_fn = block_fs_clean,
.validate_fn = block_fs_validate,
};