aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/date.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/blocks/date.c')
-rw-r--r--src/blocks/date.c15
1 files changed, 15 insertions, 0 deletions
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,
};