From 48f1c7a82338f7b711c89c06f92fe13f4337ad1f Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Sun, 11 Oct 2020 23:09:38 +0200
Subject: [PATCH] feat(config): Don't write if new string is equal to old
 string

---
 epicardium/modules/config.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/epicardium/modules/config.c b/epicardium/modules/config.c
index cae7bde65..e00b3bb60 100644
--- a/epicardium/modules/config.c
+++ b/epicardium/modules/config.c
@@ -507,6 +507,11 @@ int epic_config_set_string(const char *key, const char *value_in)
 		int fd2 = -1;
 		ret     = epic_config_get_string(key, buf, sizeof(buf));
 
+		if (ret == 0 && strcmp(buf, value) == 0) {
+			/* Nothing to do: the values are the same. */
+			return 0;
+		}
+
 		size_t nread = read_config_offset(
 			slot->value_offset, buf, sizeof(buf)
 		);
-- 
GitLab