diff options
Diffstat (limited to 'Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp')
-rw-r--r-- | Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp b/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp index 70ffacac4b7..72197cdd8c7 100644 --- a/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp +++ b/Build/source/libs/icu/icu-src/source/i18n/formattedval_sbimpl.cpp @@ -230,6 +230,11 @@ bool FormattedValueStringBuilderImpl::nextPositionImpl(ConstrainedFieldPosition& if (si + 1 < spanIndicesCount) { nextSpanStart = spanIndices[si + 1].start; } + if (length == 0) { + // ICU-21871: Don't return fields on empty spans + i--; + continue; + } if (cfpos.matchesField(spanCategory, spanValue)) { fieldStart = i - fString.fZero; int32_t end = fieldStart + length; |