diff options
Diffstat (limited to 'Build/source/libs/icu/icu-src/source/i18n/decimalformatpattern.cpp')
-rw-r--r-- | Build/source/libs/icu/icu-src/source/i18n/decimalformatpattern.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Build/source/libs/icu/icu-src/source/i18n/decimalformatpattern.cpp b/Build/source/libs/icu/icu-src/source/i18n/decimalformatpattern.cpp index b07bcdd3ccf..4ee5e334411 100644 --- a/Build/source/libs/icu/icu-src/source/i18n/decimalformatpattern.cpp +++ b/Build/source/libs/icu/icu-src/source/i18n/decimalformatpattern.cpp @@ -50,10 +50,12 @@ static void syntaxError(const UnicodeString& pattern, parseError.preContext[stop-start] = 0; //for post-context - start = pos+1; - stop = ((pos+U_PARSE_CONTEXT_LEN)<=pattern.length()) ? (pos+(U_PARSE_CONTEXT_LEN-1)) : - pattern.length(); - pattern.extract(start,stop-start,parseError.postContext,0); + start = pattern.moveIndex32(pos, 1); + stop = pos + U_PARSE_CONTEXT_LEN - 1; + if (stop > pattern.length()) { + stop = pattern.length(); + } + pattern.extract(start, stop - start, parseError.postContext, 0); //null terminate the buffer parseError.postContext[stop-start]= 0; } |