if (IsChainFile(strFile) && IsInitialBlockDownload())
nMinutes = 5;
- bitdb.dbenv.txn_checkpoint(nMinutes ? GetArg("-dblogsize", 100)*1024 : 0, nMinutes, 0);
+ bitdb.dbenv.txn_checkpoint(nMinutes ? GetArgUInt("-dblogsize", 100)*1024 : 0, nMinutes, 0);
{
LOCK(bitdb.cs_db);
"should be replaced with the newly generated one."
+ HelpRequiringPassphrase());
- unsigned int nSize = max<unsigned int>(GetArg("-keypool", 100), 0);
+ unsigned int nSize = max<unsigned int>(GetArgUInt("-keypool", 100), 0);
if (params.size() > 0) {
if (params[0].get_int() < 0)
throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid size");
"should be replaced with the newly generated one."
+ HelpRequiringPassphrase());
- unsigned int nSize = max<unsigned int>(GetArg("-keypool", 100), 0);
+ unsigned int nSize = max<unsigned int>(GetArgUInt("-keypool", 100), 0);
if (params.size() > 0) {
if (params[0].get_int() < 0)
throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid size");
return nDefault;
}
+uint32_t GetArgUInt(const std::string& strArg, uint32_t nDefault)
+{
+ if (mapArgs.count(strArg))
+ return strtoul(mapArgs[strArg]);
+ return nDefault;
+}
+
bool GetBoolArg(const std::string& strArg, bool fDefault)
{
if (mapArgs.count(strArg))
return strtol(str.c_str(), NULL, 10);
}
+inline uint32_t strtoul(const char* psz)
+{
+ return strtoul(psz, NULL, 10);
+}
+
+inline uint32_t strtoul(const std::string& str)
+{
+ return strtoul(str.c_str(), NULL, 10);
+}
+
inline int atoi(const std::string& str)
{
return atoi(str.c_str());
int32_t GetArgInt(const std::string& strArg, int32_t nDefault);
/**
+ * Return 32-bit unsigned integer argument or default value
+ *
+ * @param strArg Argument to get (e.g. "-foo")
+ * @param default (e.g. 1)
+ * @return command-line argument (0 if invalid number) or default value
+ */
+uint32_t GetArgUInt(const std::string& strArg, uint32_t nDefault);
+
+/**
* Return boolean argument or default value
*
* @param strArg Argument to get (e.g. "-foo")