@@ -717,7 +717,7 @@ void InitParameterInteraction()
717
717
LogPrintf (" %s: parameter interaction: -whitebind set -> setting -listen=1\n " , __func__);
718
718
}
719
719
720
- if (mapArgs .count (" -connect" ) && mapMultiArgs[ " -connect" ] .size () > 0 ) {
720
+ if (mapMultiArgs .count (" -connect" ) && mapMultiArgs. at ( " -connect" ) .size () > 0 ) {
721
721
// when only connecting to trusted nodes, do not seed via DNS, or listen by default
722
722
if (SoftSetBoolArg (" -dnsseed" , false ))
723
723
LogPrintf (" %s: parameter interaction: -connect set -> setting -dnsseed=0\n " , __func__);
@@ -880,11 +880,13 @@ bool AppInitParameterInteraction()
880
880
881
881
// ********************************************************* Step 3: parameter-to-internal-flags
882
882
883
- fDebug = ! mapMultiArgs[ " -debug" ]. empty ( );
883
+ fDebug = mapMultiArgs. count ( " -debug" );
884
884
// 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
+ }
888
890
889
891
// Check for -debugnet
890
892
if (GetBoolArg (" -debugnet" , false ))
@@ -1003,12 +1005,12 @@ bool AppInitParameterInteraction()
1003
1005
fEnableReplacement = (std::find (vstrReplacementModes.begin (), vstrReplacementModes.end (), " fee" ) != vstrReplacementModes.end ());
1004
1006
}
1005
1007
1006
- if (! mapMultiArgs[ " -bip9params" ]. empty ( )) {
1008
+ if (mapMultiArgs. count ( " -bip9params" )) {
1007
1009
// Allow overriding BIP9 parameters for testing
1008
1010
if (!chainparams.MineBlocksOnDemand ()) {
1009
1011
return InitError (" BIP9 parameters may only be overridden on regtest." );
1010
1012
}
1011
- const vector<string>& deployments = mapMultiArgs[ " -bip9params" ] ;
1013
+ const vector<string>& deployments = mapMultiArgs. at ( " -bip9params" ) ;
1012
1014
for (auto i : deployments) {
1013
1015
std::vector<std::string> vDeploymentParams;
1014
1016
boost::split (vDeploymentParams, i, boost::is_any_of (" :" ));
@@ -1154,21 +1156,23 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
1154
1156
1155
1157
// sanitize comments per BIP-0014, format user agent and check total size
1156
1158
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
+ }
1162
1166
}
1163
1167
strSubVersion = FormatSubVersion (CLIENT_NAME, CLIENT_VERSION, uacomments);
1164
1168
if (strSubVersion.size () > MAX_SUBVERSION_LENGTH) {
1165
1169
return InitError (strprintf (_ (" Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments." ),
1166
1170
strSubVersion.size (), MAX_SUBVERSION_LENGTH));
1167
1171
}
1168
1172
1169
- if (mapArgs .count (" -onlynet" )) {
1173
+ if (mapMultiArgs .count (" -onlynet" )) {
1170
1174
std::set<enum Network> nets;
1171
- BOOST_FOREACH (const std::string& snet, mapMultiArgs[ " -onlynet" ] ) {
1175
+ BOOST_FOREACH (const std::string& snet, mapMultiArgs. at ( " -onlynet" ) ) {
1172
1176
enum Network net = ParseNetwork (snet);
1173
1177
if (net == NET_UNROUTABLE)
1174
1178
return InitError (strprintf (_ (" Unknown network specified in -onlynet: '%s'" ), snet));
@@ -1181,8 +1185,8 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
1181
1185
}
1182
1186
}
1183
1187
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" ) ) {
1186
1190
CSubNet subnet;
1187
1191
LookupSubNet (net.c_str (), subnet);
1188
1192
if (!subnet.IsValid ())
@@ -1234,14 +1238,16 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
1234
1238
1235
1239
if (fListen ) {
1236
1240
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" ) ) {
1239
1243
CService addrBind;
1240
1244
if (!Lookup (strBind.c_str (), addrBind, GetListenPort (), false ))
1241
1245
return InitError (ResolveErrMsg (" bind" , strBind));
1242
1246
fBound |= Bind (connman, addrBind, (BF_EXPLICIT | BF_REPORT_ERROR));
1243
1247
}
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" )) {
1245
1251
CService addrBind;
1246
1252
if (!Lookup (strBind.c_str (), addrBind, 0 , false ))
1247
1253
return InitError (ResolveErrMsg (" whitebind" , strBind));
@@ -1250,7 +1256,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
1250
1256
fBound |= Bind (connman, addrBind, (BF_EXPLICIT | BF_REPORT_ERROR | BF_WHITELIST));
1251
1257
}
1252
1258
}
1253
- else {
1259
+ if (!mapMultiArgs. count ( " -bind " ) && !mapMultiArgs. count ( " -whitebind " )) {
1254
1260
struct in_addr inaddr_any;
1255
1261
inaddr_any.s_addr = INADDR_ANY;
1256
1262
fBound |= Bind (connman, CService (in6addr_any, GetListenPort ()), BF_NONE);
@@ -1260,8 +1266,8 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
1260
1266
return InitError (_ (" Failed to listen on any port. Use -listen=0 if you want this." ));
1261
1267
}
1262
1268
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" ) ) {
1265
1271
CService addrLocal;
1266
1272
if (Lookup (strAddr.c_str (), addrLocal, GetListenPort (), fNameLookup ) && addrLocal.IsValid ())
1267
1273
AddLocal (addrLocal, LOCAL_MANUAL);
@@ -1270,8 +1276,10 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
1270
1276
}
1271
1277
}
1272
1278
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
+ }
1275
1283
1276
1284
#if ENABLE_ZMQ
1277
1285
pzmqNotificationInterface = CZMQNotificationInterface::CreateWithArguments (mapArgs);
@@ -1519,9 +1527,9 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
1519
1527
uiInterface.NotifyBlockTip .connect (BlockNotifyCallback);
1520
1528
1521
1529
std::vector<boost::filesystem::path> vImportFiles;
1522
- if (mapArgs .count (" -loadblock" ))
1530
+ if (mapMultiArgs .count (" -loadblock" ))
1523
1531
{
1524
- BOOST_FOREACH (const std::string& strFile, mapMultiArgs[ " -loadblock" ] )
1532
+ BOOST_FOREACH (const std::string& strFile, mapMultiArgs. at ( " -loadblock" ) )
1525
1533
vImportFiles.push_back (strFile);
1526
1534
}
1527
1535
0 commit comments