aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/script.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/blocks/script.c')
-rw-r--r--src/blocks/script.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/blocks/script.c b/src/blocks/script.c
index 08ed9e3..51e5328 100644
--- a/src/blocks/script.c
+++ b/src/blocks/script.c
@@ -43,13 +43,12 @@ static void block_script_update(block_t *block)
assert(script->block.text != NULL);
}
-static block_t *block_script_alloc(const block_scheme_t *scheme)
+static void block_script_init(block_t *block, const block_scheme_t *scheme)
{
- block_t *block = calloc(1, sizeof(block_script_t));
- block->type = BLOCK_TEXT;
+ extern const block_scheme_t block_text_scheme;
+ block_text_scheme.init_fn(block, scheme);
block->update_interval = block_script_interval;
block->update_fn = block_script_update;
- return block;
}
static void block_script_clean(block_t *block)
@@ -81,7 +80,8 @@ static const config_entry_t block_script_entries[] = {
const block_scheme_t block_script_scheme = {
.name = "script",
.entries = block_script_entries,
- .alloc_fn = block_script_alloc,
+ .size = sizeof(block_script_t),
+ .init_fn = block_script_init,
.clean_fn = block_script_clean,
.validate_fn = block_script_validate,
};