diff options
Diffstat (limited to 'i18npool')
-rw-r--r-- | i18npool/source/breakiterator/breakiterator_ctl.cxx | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/i18npool/source/breakiterator/breakiterator_ctl.cxx b/i18npool/source/breakiterator/breakiterator_ctl.cxx index 4c21e793a0b5..0c5be0663fe5 100644 --- a/i18npool/source/breakiterator/breakiterator_ctl.cxx +++ b/i18npool/source/breakiterator/breakiterator_ctl.cxx @@ -59,17 +59,17 @@ sal_Int32 SAL_CALL BreakIterator_CTL::previousCharacters( const OUString& Text, if (nCharacterIteratorMode == CharacterIteratorMode::SKIPCELL ) { nDone = 0; if (nStartPos > 0) { // for others to skip cell. - makeIndex(Text, nStartPos); - - if (nextCellIndex[nStartPos-1] == 0) // not a CTL character - return BreakIterator_Unicode::previousCharacters(Text, nStartPos, rLocale, - nCharacterIteratorMode, nCount, nDone); - else while (nCount > 0 && nextCellIndex[nStartPos - 1] > 0) { - nCount--; nDone++; - nStartPos = previousCellIndex[nStartPos - 1]; - } + makeIndex(Text, nStartPos); + + if (nextCellIndex[nStartPos-1] == 0) // not a CTL character + return BreakIterator_Unicode::previousCharacters(Text, nStartPos, rLocale, + nCharacterIteratorMode, nCount, nDone); + else while (nCount > 0 && nextCellIndex[nStartPos - 1] > 0) { + nCount--; nDone++; + nStartPos = previousCellIndex[nStartPos - 1]; + } } else - nStartPos = 0; + nStartPos = 0; } else { // for BS to delete one char. nDone = (nStartPos > nCount) ? nCount : nStartPos; nStartPos -= nDone; @@ -87,17 +87,17 @@ sal_Int32 SAL_CALL BreakIterator_CTL::nextCharacters(const OUString& Text, if (nCharacterIteratorMode == CharacterIteratorMode::SKIPCELL ) { nDone = 0; if (nStartPos < len) { - makeIndex(Text, nStartPos); - - if (nextCellIndex[nStartPos] == 0) // not a CTL character - return BreakIterator_Unicode::nextCharacters(Text, nStartPos, rLocale, - nCharacterIteratorMode, nCount, nDone); - else while (nCount > 0 && nextCellIndex[nStartPos] > 0) { - nCount--; nDone++; - nStartPos = nextCellIndex[nStartPos]; - } + makeIndex(Text, nStartPos); + + if (nextCellIndex[nStartPos] == 0) // not a CTL character + return BreakIterator_Unicode::nextCharacters(Text, nStartPos, rLocale, + nCharacterIteratorMode, nCount, nDone); + else while (nCount > 0 && nextCellIndex[nStartPos] > 0) { + nCount--; nDone++; + nStartPos = nextCellIndex[nStartPos]; + } } else - nStartPos = len; + nStartPos = len; } else { nDone = (len - nStartPos > nCount) ? nCount : len - nStartPos; nStartPos += nDone; |