@@ -717,7 +717,7 @@ void InitParameterInteraction()
717717 LogPrintf (" %s: parameter interaction: -whitebind set -> setting -listen=1\n " , __func__);
718718 }
719719
720- if (mapArgs .count (" -connect" ) && mapMultiArgs[ " -connect" ] .size () > 0 ) {
720+ if (mapMultiArgs .count (" -connect" ) && mapMultiArgs. at ( " -connect" ) .size () > 0 ) {
721721 // when only connecting to trusted nodes, do not seed via DNS, or listen by default
722722 if (SoftSetBoolArg (" -dnsseed" , false ))
723723 LogPrintf (" %s: parameter interaction: -connect set -> setting -dnsseed=0\n " , __func__);
@@ -880,11 +880,13 @@ bool AppInitParameterInteraction()
880880
881881 // ********************************************************* Step 3: parameter-to-internal-flags
882882
883- fDebug = ! mapMultiArgs[ " -debug" ]. empty ( );
883+ fDebug = mapMultiArgs. count ( " -debug" );
884884 // Special-case: if -debug=0/-nodebug is set, turn off debugging messages
885- const vector<string>& categories = mapMultiArgs[" -debug" ];
886- if (GetBoolArg (" -nodebug" , false ) || find (categories.begin (), categories.end (), string (" 0" )) != categories.end ())
887- fDebug = false ;
885+ if (fDebug ) {
886+ const vector<string>& categories = mapMultiArgs.at (" -debug" );
887+ if (GetBoolArg (" -nodebug" , false ) || find (categories.begin (), categories.end (), string (" 0" )) != categories.end ())
888+ fDebug = false ;
889+ }
888890
889891 // Check for -debugnet
890892 if (GetBoolArg (" -debugnet" , false ))
@@ -1003,12 +1005,12 @@ bool AppInitParameterInteraction()
10031005 fEnableReplacement = (std::find (vstrReplacementModes.begin (), vstrReplacementModes.end (), " fee" ) != vstrReplacementModes.end ());
10041006 }
10051007
1006- if (! mapMultiArgs[ " -bip9params" ]. empty ( )) {
1008+ if (mapMultiArgs. count ( " -bip9params" )) {
10071009 // Allow overriding BIP9 parameters for testing
10081010 if (!chainparams.MineBlocksOnDemand ()) {
10091011 return InitError (" BIP9 parameters may only be overridden on regtest." );
10101012 }
1011- const vector<string>& deployments = mapMultiArgs[ " -bip9params" ] ;
1013+ const vector<string>& deployments = mapMultiArgs. at ( " -bip9params" ) ;
10121014 for (auto i : deployments) {
10131015 std::vector<std::string> vDeploymentParams;
10141016 boost::split (vDeploymentParams, i, boost::is_any_of (" :" ));
@@ -1154,21 +1156,23 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
11541156
11551157 // sanitize comments per BIP-0014, format user agent and check total size
11561158 std::vector<string> uacomments;
1157- BOOST_FOREACH (string cmt, mapMultiArgs[" -uacomment" ])
1158- {
1159- if (cmt != SanitizeString (cmt, SAFE_CHARS_UA_COMMENT))
1160- return InitError (strprintf (_ (" User Agent comment (%s) contains unsafe characters." ), cmt));
1161- uacomments.push_back (SanitizeString (cmt, SAFE_CHARS_UA_COMMENT));
1159+ if (mapMultiArgs.count (" -uacomment" )) {
1160+ BOOST_FOREACH (string cmt, mapMultiArgs.at (" -uacomment" ))
1161+ {
1162+ if (cmt != SanitizeString (cmt, SAFE_CHARS_UA_COMMENT))
1163+ return InitError (strprintf (_ (" User Agent comment (%s) contains unsafe characters." ), cmt));
1164+ uacomments.push_back (cmt);
1165+ }
11621166 }
11631167 strSubVersion = FormatSubVersion (CLIENT_NAME, CLIENT_VERSION, uacomments);
11641168 if (strSubVersion.size () > MAX_SUBVERSION_LENGTH) {
11651169 return InitError (strprintf (_ (" Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments." ),
11661170 strSubVersion.size (), MAX_SUBVERSION_LENGTH));
11671171 }
11681172
1169- if (mapArgs .count (" -onlynet" )) {
1173+ if (mapMultiArgs .count (" -onlynet" )) {
11701174 std::set<enum Network> nets;
1171- BOOST_FOREACH (const std::string& snet, mapMultiArgs[ " -onlynet" ] ) {
1175+ BOOST_FOREACH (const std::string& snet, mapMultiArgs. at ( " -onlynet" ) ) {
11721176 enum Network net = ParseNetwork (snet);
11731177 if (net == NET_UNROUTABLE)
11741178 return InitError (strprintf (_ (" Unknown network specified in -onlynet: '%s'" ), snet));
@@ -1181,8 +1185,8 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
11811185 }
11821186 }
11831187
1184- if (mapArgs .count (" -whitelist" )) {
1185- BOOST_FOREACH (const std::string& net, mapMultiArgs[ " -whitelist" ] ) {
1188+ if (mapMultiArgs .count (" -whitelist" )) {
1189+ BOOST_FOREACH (const std::string& net, mapMultiArgs. at ( " -whitelist" ) ) {
11861190 CSubNet subnet;
11871191 LookupSubNet (net.c_str (), subnet);
11881192 if (!subnet.IsValid ())
@@ -1234,14 +1238,16 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
12341238
12351239 if (fListen ) {
12361240 bool fBound = false ;
1237- if (mapArgs .count (" -bind" ) || mapArgs. count ( " -whitebind " )) {
1238- BOOST_FOREACH (const std::string& strBind, mapMultiArgs[ " -bind" ] ) {
1241+ if (mapMultiArgs .count (" -bind" )) {
1242+ BOOST_FOREACH (const std::string& strBind, mapMultiArgs. at ( " -bind" ) ) {
12391243 CService addrBind;
12401244 if (!Lookup (strBind.c_str (), addrBind, GetListenPort (), false ))
12411245 return InitError (ResolveErrMsg (" bind" , strBind));
12421246 fBound |= Bind (connman, addrBind, (BF_EXPLICIT | BF_REPORT_ERROR));
12431247 }
1244- BOOST_FOREACH (const std::string& strBind, mapMultiArgs[" -whitebind" ]) {
1248+ }
1249+ if (mapMultiArgs.count (" -whitebind" )) {
1250+ BOOST_FOREACH (const std::string& strBind, mapMultiArgs.at (" -whitebind" )) {
12451251 CService addrBind;
12461252 if (!Lookup (strBind.c_str (), addrBind, 0 , false ))
12471253 return InitError (ResolveErrMsg (" whitebind" , strBind));
@@ -1250,7 +1256,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
12501256 fBound |= Bind (connman, addrBind, (BF_EXPLICIT | BF_REPORT_ERROR | BF_WHITELIST));
12511257 }
12521258 }
1253- else {
1259+ if (!mapMultiArgs. count ( " -bind " ) && !mapMultiArgs. count ( " -whitebind " )) {
12541260 struct in_addr inaddr_any;
12551261 inaddr_any.s_addr = INADDR_ANY;
12561262 fBound |= Bind (connman, CService (in6addr_any, GetListenPort ()), BF_NONE);
@@ -1260,8 +1266,8 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
12601266 return InitError (_ (" Failed to listen on any port. Use -listen=0 if you want this." ));
12611267 }
12621268
1263- if (mapArgs .count (" -externalip" )) {
1264- BOOST_FOREACH (const std::string& strAddr, mapMultiArgs[ " -externalip" ] ) {
1269+ if (mapMultiArgs .count (" -externalip" )) {
1270+ BOOST_FOREACH (const std::string& strAddr, mapMultiArgs. at ( " -externalip" ) ) {
12651271 CService addrLocal;
12661272 if (Lookup (strAddr.c_str (), addrLocal, GetListenPort (), fNameLookup ) && addrLocal.IsValid ())
12671273 AddLocal (addrLocal, LOCAL_MANUAL);
@@ -1270,8 +1276,10 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
12701276 }
12711277 }
12721278
1273- BOOST_FOREACH (const std::string& strDest, mapMultiArgs[" -seednode" ])
1274- connman.AddOneShot (strDest);
1279+ if (mapMultiArgs.count (" -seednode" )) {
1280+ BOOST_FOREACH (const std::string& strDest, mapMultiArgs.at (" -seednode" ))
1281+ connman.AddOneShot (strDest);
1282+ }
12751283
12761284#if ENABLE_ZMQ
12771285 pzmqNotificationInterface = CZMQNotificationInterface::CreateWithArguments (mapArgs);
@@ -1519,9 +1527,9 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
15191527 uiInterface.NotifyBlockTip .connect (BlockNotifyCallback);
15201528
15211529 std::vector<boost::filesystem::path> vImportFiles;
1522- if (mapArgs .count (" -loadblock" ))
1530+ if (mapMultiArgs .count (" -loadblock" ))
15231531 {
1524- BOOST_FOREACH (const std::string& strFile, mapMultiArgs[ " -loadblock" ] )
1532+ BOOST_FOREACH (const std::string& strFile, mapMultiArgs. at ( " -loadblock" ) )
15251533 vImportFiles.push_back (strFile);
15261534 }
15271535
0 commit comments