From 21fb9be7b28843d9232803b90137c7251fe9194e Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Sun, 24 Nov 2024 20:14:59 +0100 Subject: Add change function to other blocks --- src/blocks/date.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/blocks/date.c') diff --git a/src/blocks/date.c b/src/blocks/date.c index cd1adce..cbc6cce 100644 --- a/src/blocks/date.c +++ b/src/blocks/date.c @@ -60,6 +60,20 @@ static int block_date_validate(block_t *block, config_t *config) return errors; } +static config_status_t block_date_change(block_t *block, config_t *config, const char *key, const char *value) +{ + block_date_t *date = (block_date_t *)block; + + if (!strcmp(key, "text")) { + free(date->format); + date->format = strcopy(value); + return CONFIG_SUCCESS; + } + + extern const config_entry_t block_text_entries[]; + return config_read_entry(block_text_entries, block, NULL, "block", block->label, key, value); +} + const block_scheme_t block_date_scheme = { .name = "date", .entries = NULL, @@ -67,4 +81,5 @@ const block_scheme_t block_date_scheme = { .init_fn = block_date_init, .clean_fn = block_date_clean, .validate_fn = block_date_validate, + .change_fn = block_date_change, }; -- cgit v1.2.3