diff options
Diffstat (limited to 'deps/icu-small/source/i18n/numparse_parsednumber.cpp')
-rw-r--r-- | deps/icu-small/source/i18n/numparse_parsednumber.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/deps/icu-small/source/i18n/numparse_parsednumber.cpp b/deps/icu-small/source/i18n/numparse_parsednumber.cpp index 98da4e8319..3145f718dc 100644 --- a/deps/icu-small/source/i18n/numparse_parsednumber.cpp +++ b/deps/icu-small/source/i18n/numparse_parsednumber.cpp @@ -52,7 +52,7 @@ bool ParsedNumber::seenNumber() const { return !quantity.bogus || 0 != (flags & FLAG_NAN) || 0 != (flags & FLAG_INFINITY); } -double ParsedNumber::getDouble() const { +double ParsedNumber::getDouble(UErrorCode& status) const { bool sawNaN = 0 != (flags & FLAG_NAN); bool sawInfinity = 0 != (flags & FLAG_INFINITY); @@ -69,7 +69,10 @@ double ParsedNumber::getDouble() const { return INFINITY; } } - U_ASSERT(!quantity.bogus); + if (quantity.bogus) { + status = U_INVALID_STATE_ERROR; + return 0.0; + } if (quantity.isZero() && quantity.isNegative()) { return -0.0; } |