From f9653a5e1eddf73adce1a7cc33167c843dab8b8f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 26 Nov 2000 02:26:13 +0000 Subject: [PATCH] some updates for checking when to not autosave config. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@872 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/core/settings.c | 2 ++ src/lib-config/set.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/settings.c b/src/core/settings.c index 9c0999c9..6959453a 100644 --- a/src/core/settings.c +++ b/src/core/settings.c @@ -323,6 +323,7 @@ static void init_configfile(void) g_free(str); mainconfig = parse_configfile(NULL); + config_last_modifycounter = mainconfig->modifycounter; /* any errors? */ if (config_last_error(mainconfig) != NULL) { @@ -365,6 +366,7 @@ int settings_reread(const char *fname) config_close(mainconfig); mainconfig = tempconfig; + config_last_modifycounter = mainconfig->modifycounter; signal_emit("setup changed", 0); signal_emit("setup reread", 0); diff --git a/src/lib-config/set.c b/src/lib-config/set.c index 342d2b70..e0d3cf08 100644 --- a/src/lib-config/set.c +++ b/src/lib-config/set.c @@ -104,9 +104,11 @@ void config_node_set_str(CONFIG_REC *rec, CONFIG_NODE *parent, const char *key, return; } - if (node != NULL) + if (node != NULL) { + if (strcmp(node->value, value) == 0) + return; g_free(node->value); - else { + } else { node = g_new0(CONFIG_NODE, 1); parent->value = g_slist_append(parent->value, node);