From def1e18d86579cf77649d1b8aa596d0877b822bb Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Sun, 24 Nov 2024 19:39:19 +0100 Subject: Refactor block_change_fn --- src/blocks/group.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/blocks/group.c') diff --git a/src/blocks/group.c b/src/blocks/group.c index febefe4..eeac132 100644 --- a/src/blocks/group.c +++ b/src/blocks/group.c @@ -1,4 +1,5 @@ #include "../block.h" +#include "../any_log.h" static void block_group_init(block_t *block) { @@ -11,6 +12,17 @@ static void block_group_clean(block_t *block) free(group->children); } +static config_status_t block_group_change(block_t *block, config_t *config, const char *key, const char *value) +{ + if (!strcmp(key, "blocks")) { + log_error("Block '%s' option '%s' cannot be changed", block->label, "blocks"); + return CONFIG_INVALID; + } + + extern const config_entry_t block_group_entries[]; + return config_read_entry(block_group_entries, block, NULL, "block", block->label, key, value); +} + const block_scheme_t block_group_scheme = { .name = "group", .entries = NULL, @@ -18,4 +30,5 @@ const block_scheme_t block_group_scheme = { .init_fn = block_group_init, .clean_fn = block_group_clean, .validate_fn = NULL, + .change_fn = block_group_change, }; -- cgit v1.2.3