diff options
| author | Federico Angelilli <code@fedang.net> | 2024-11-20 11:13:57 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2024-11-20 11:13:57 +0100 |
| commit | eb370ad9065ce222c1bfd6ae0576b9a0f6b3de22 (patch) | |
| tree | 1b494821e4a70bc3c0ebce9feab8bf7c39f94397 /src/blocks/ram.c | |
| parent | bb63935e63365d842fe530629387d1d2a4248042 (diff) | |
Refactor block initialization
Diffstat (limited to 'src/blocks/ram.c')
| -rw-r--r-- | src/blocks/ram.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/blocks/ram.c b/src/blocks/ram.c index 46ec361..ed7465f 100644 --- a/src/blocks/ram.c +++ b/src/blocks/ram.c @@ -128,13 +128,12 @@ static void block_ram_update(block_t *block) assert(ram->block.text != NULL); } -static block_t *block_ram_alloc(const block_scheme_t *scheme) +static void block_ram_init(block_t *block, const block_scheme_t *scheme) { - block_t *block = calloc(1, sizeof(block_ram_t)); - block->type = BLOCK_TEXT; + extern const block_scheme_t block_text_scheme; + block_text_scheme.init_fn(block, scheme); block->update_interval = block_ram_interval; block->update_fn = block_ram_update; - return block; } static void block_ram_clean(block_t *block) @@ -176,7 +175,8 @@ static int block_ram_validate(block_t *block, const block_scheme_t *scheme) const block_scheme_t block_ram_scheme = { .name = "ram", .entries = NULL, - .alloc_fn = block_ram_alloc, + .size = sizeof(block_ram_t), + .init_fn = block_ram_init, .clean_fn = block_ram_clean, .validate_fn = block_ram_validate, }; |
