diff --git a/src/util.cpp b/src/util.cpp index d8bdd3c69..2f0f84629 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -92,8 +92,6 @@ const char * const BITCOIN_CONF_FILENAME = "bitcoin.conf"; const char * const BITCOIN_PID_FILENAME = "bitcoind.pid"; ArgsManager gArgs; -static std::map > _mapMultiArgs; -const std::map >& mapMultiArgs = _mapMultiArgs; bool fPrintToConsole = false; bool fPrintToDebugLog = true; @@ -386,7 +384,7 @@ void ArgsManager::ParseParameters(int argc, const char* const argv[]) { LOCK(cs_args); mapArgs.clear(); - _mapMultiArgs.clear(); + mapMultiArgs.clear(); for (int i = 1; i < argc; i++) { @@ -414,7 +412,7 @@ void ArgsManager::ParseParameters(int argc, const char* const argv[]) InterpretNegativeSetting(str, strValue); mapArgs[str] = strValue; - _mapMultiArgs[str].push_back(strValue); + mapMultiArgs[str].push_back(strValue); } } @@ -459,7 +457,7 @@ bool ArgsManager::SoftSetArg(const std::string& strArg, const std::string& strVa LOCK(cs_args); if (mapArgs.count(strArg)) return false; - mapArgs[strArg] = strValue; + ForceSetArg(strArg, strValue); return true; } @@ -475,6 +473,7 @@ void ArgsManager::ForceSetArg(const std::string& strArg, const std::string& strV { LOCK(cs_args); mapArgs[strArg] = strValue; + mapMultiArgs[strArg].push_back(strValue); } @@ -612,7 +611,7 @@ void ArgsManager::ReadConfigFile(const std::string& confPath) InterpretNegativeSetting(strKey, strValue); if (mapArgs.count(strKey) == 0) mapArgs[strKey] = strValue; - _mapMultiArgs[strKey].push_back(strValue); + mapMultiArgs[strKey].push_back(strValue); } } // If datadir is changed in .conf file: diff --git a/src/util.h b/src/util.h index d6360a6c4..229478d83 100644 --- a/src/util.h +++ b/src/util.h @@ -42,7 +42,6 @@ public: boost::signals2::signal Translate; }; -extern const std::map >& mapMultiArgs; extern bool fPrintToConsole; extern bool fPrintToDebugLog; @@ -184,6 +183,7 @@ class ArgsManager protected: CCriticalSection cs_args; std::map mapArgs; + std::map > mapMultiArgs; public: void ParseParameters(int argc, const char*const argv[]); void ReadConfigFile(const std::string& confPath);