diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 913ad6d76a..db1001111a 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -31,6 +31,9 @@ enum class Source { CONFIG_FILE_DEFAULT_SECTION }; +// Json object key for the auto-generated warning comment +const std::string SETTINGS_WARN_MSG_KEY{"_warning_"}; + //! Merge settings from multiple sources in precedence order: //! Forced config > command line > read-write settings file > config file network-specific section > config file default section //! @@ -112,6 +115,10 @@ bool ReadSettings(const fs::path& path, std::map& va break; } } + + // Remove auto-generated warning comment from the accessible settings. + values.erase(SETTINGS_WARN_MSG_KEY); + return errors.empty(); } @@ -120,12 +127,9 @@ bool WriteSettings(const fs::path& path, std::vector& errors) { SettingsValue out(SettingsValue::VOBJ); - // Add auto-generated warning comment only if it does not exist - if (!values.contains("_warning_")) { - out.pushKV("_warning_", strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node " - "is running, as any changes might be ignored or overwritten.", - PACKAGE_NAME)); - } + // Add auto-generated warning comment + out.pushKV(SETTINGS_WARN_MSG_KEY, strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node " + "is running, as any changes might be ignored or overwritten.", PACKAGE_NAME)); // Push settings values for (const auto& value : values) { out.pushKVEnd(value.first, value.second);