summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/i18n/numparse_scientific.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'deps/icu-small/source/i18n/numparse_scientific.cpp')
-rw-r--r--deps/icu-small/source/i18n/numparse_scientific.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/deps/icu-small/source/i18n/numparse_scientific.cpp b/deps/icu-small/source/i18n/numparse_scientific.cpp
index 611695e57d..de38957440 100644
--- a/deps/icu-small/source/i18n/numparse_scientific.cpp
+++ b/deps/icu-small/source/i18n/numparse_scientific.cpp
@@ -56,6 +56,11 @@ bool ScientificMatcher::match(StringSegment& segment, ParsedNumber& result, UErr
return false;
}
+ // Only accept one exponent per string.
+ if (0 != (result.flags & FLAG_HAS_EXPONENT)) {
+ return false;
+ }
+
// First match the scientific separator, and then match another number after it.
// NOTE: This is guarded by the smoke test; no need to check fExponentSeparatorString length again.
int overlap1 = segment.getCommonPrefixLength(fExponentSeparatorString);