Util: Put mapMultiArgs inside ArgsManager

- Set ArgsManager::mapMultiArgs in ArgsManager::SoftSetArg, ForceSetArg, SoftSetBoolArg
This commit is contained in:
Jorge Timón 2017-05-06 21:23:21 +02:00
parent b3cbd554d9
commit 52922456b8
No known key found for this signature in database
GPG Key ID: 8866C18EA1C944A2
2 changed files with 6 additions and 7 deletions

View File

@ -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<std::string, std::vector<std::string> > _mapMultiArgs;
const std::map<std::string, std::vector<std::string> >& 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:

View File

@ -42,7 +42,6 @@ public:
boost::signals2::signal<std::string (const char* psz)> Translate;
};
extern const std::map<std::string, std::vector<std::string> >& mapMultiArgs;
extern bool fPrintToConsole;
extern bool fPrintToDebugLog;
@ -184,6 +183,7 @@ class ArgsManager
protected:
CCriticalSection cs_args;
std::map<std::string, std::string> mapArgs;
std::map<std::string, std::vector<std::string> > mapMultiArgs;
public:
void ParseParameters(int argc, const char*const argv[]);
void ReadConfigFile(const std::string& confPath);