diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-08-07 16:16:49 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-08-07 16:17:02 +0200 |
commit | c359ac9128b9b1a6fda29a2a49da0991f835ad0e (patch) | |
tree | a891df686f7dcd449ee7cb35d48b6e281396bf89 | |
parent | 856aacf388b2dd4c8213e699ff6377203a9194cc (diff) |
allow empty/missing amounts in URL
-rw-r--r-- | src/qt/guiutil.cpp | 13 | ||||
-rw-r--r-- | src/qt/guiutil.h | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 3516d4f83a..6329d51d01 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -53,9 +53,18 @@ bool GUIUtil::parseBitcoinURL(const QUrl *url, SendCoinsRecipient *out) SendCoinsRecipient rv; rv.address = url->path(); rv.label = url->queryItemValue("label"); - if(!BitcoinUnits::parse(BitcoinUnits::BTC, url->queryItemValue("amount"), &rv.amount)) + + QString amount = url->queryItemValue("amount"); + if(amount.isEmpty()) { - return false; + rv.amount = 0; + } + else // Amount is non-empty + { + if(!BitcoinUnits::parse(BitcoinUnits::BTC, amount, &rv.amount)) + { + return false; + } } if(out) { diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 012e49754c..5f63c16e14 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -27,6 +27,7 @@ public: static void setupAmountWidget(QLineEdit *widget, QWidget *parent); // Parse "bitcoin:" URL into recipient object, return true on succesful parsing + // See Bitcoin URL definition discussion here: https://bitcointalk.org/index.php?topic=33490.0 static bool parseBitcoinURL(const QUrl *url, SendCoinsRecipient *out); }; |