aboutsummaryrefslogtreecommitdiff
path: root/src/util/moneystr.cpp
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2020-02-29 09:23:54 +0800
committerfanquake <fanquake@gmail.com>2020-02-29 09:44:48 +0800
commit902796093235083c23df10c1c45f80d89a93b2ab (patch)
tree786eebd8035fb015779b9226f67a7c697e76a3df /src/util/moneystr.cpp
parenteca4d8ef6afff6706d8626f72345768b1f78f630 (diff)
parent8888461f6814ae8b6221b02049fb9e1f69a5ff70 (diff)
downloadbitcoin-902796093235083c23df10c1c45f80d89a93b2ab.tar.xz
Merge #18225: util: Fail to parse empty string in ParseMoney
8888461f6814ae8b6221b02049fb9e1f69a5ff70 util: Fail to parse empty string in ParseMoney (MarcoFalke) fab30b61eb51538a4db62e34f7133c44575b3fe9 util: Remove unused ParseMoney that takes a c_str (MarcoFalke) Pull request description: Supplying a fee rate or an amount on the command line as an empty string, which currently parses as `0` seems fragile and confusing. See for example the confusion in #18214. Fixes #18214 ACKs for top commit: Empact: Code Review ACK https://github.com/bitcoin/bitcoin/pull/18225/commits/8888461f6814ae8b6221b02049fb9e1f69a5ff70 achow101: ACK 8888461f6814ae8b6221b02049fb9e1f69a5ff70 instagibbs: utACK https://github.com/bitcoin/bitcoin/pull/18225/commits/8888461f6814ae8b6221b02049fb9e1f69a5ff70 Tree-SHA512: ac2d6b7fa89fe5809c34d5f49831042032591c34fb3c76908d72fed51e8bced41bf2b41dc1b3be34ee691a40463355649857a7a8f378709d38ae89503feb11c2
Diffstat (limited to 'src/util/moneystr.cpp')
-rw-r--r--src/util/moneystr.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/util/moneystr.cpp b/src/util/moneystr.cpp
index 2797f450ca..40d8918dfc 100644
--- a/src/util/moneystr.cpp
+++ b/src/util/moneystr.cpp
@@ -36,14 +36,14 @@ bool ParseMoney(const std::string& str, CAmount& nRet)
if (!ValidAsCString(str)) {
return false;
}
- return ParseMoney(str.c_str(), nRet);
-}
-bool ParseMoney(const char* pszIn, CAmount& nRet)
-{
+ if (str.empty()) {
+ return false;
+ }
+
std::string strWhole;
int64_t nUnits = 0;
- const char* p = pszIn;
+ const char* p = str.c_str();
while (IsSpace(*p))
p++;
for (; *p; p++)