diff options
| author | Federico Angelilli <code@fedang.net> | 2024-11-24 19:39:19 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2024-11-24 19:39:19 +0100 |
| commit | def1e18d86579cf77649d1b8aa596d0877b822bb (patch) | |
| tree | 0e6deebdef1575b4b74472bc4367b294f7551753 /src/blocks/group.c | |
| parent | 76ad6b0d404d40f08b73d90ac5f66564c29feb95 (diff) | |
Refactor block_change_fn
Diffstat (limited to 'src/blocks/group.c')
| -rw-r--r-- | src/blocks/group.c | 13 |
1 files changed, 13 insertions, 0 deletions
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, }; |
