aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/ram.c
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2024-11-24 19:39:19 +0100
committerFederico Angelilli <code@fedang.net>2024-11-24 19:39:19 +0100
commitdef1e18d86579cf77649d1b8aa596d0877b822bb (patch)
tree0e6deebdef1575b4b74472bc4367b294f7551753 /src/blocks/ram.c
parent76ad6b0d404d40f08b73d90ac5f66564c29feb95 (diff)
Refactor block_change_fn
Diffstat (limited to 'src/blocks/ram.c')
-rw-r--r--src/blocks/ram.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/blocks/ram.c b/src/blocks/ram.c
index 28af60c..89cd196 100644
--- a/src/blocks/ram.c
+++ b/src/blocks/ram.c
@@ -160,12 +160,15 @@ static int block_ram_validate(block_t *block, config_t *config)
int marked = format_remark(&ram->format, block->label, block_ram_options);
if (marked < 0)
errors += -marked;
-
- if (marked == 0) {
- log_warn("Block '%s' does not use any ram option", block->label);
-
- block->update_fn = NULL;
- log_debug("Disabled updates for block '%s'", block->label);
+ else if (marked > 0)
+ block->update_fn = block_ram_update;
+ else {
+ log_warn("Block '%s' does not use any 'ram' option", block->label);
+
+ if (block->update_fn != NULL) {
+ block->update_fn = NULL;
+ log_debug("Disabled updates for block '%s'", block->label);
+ }
}
}