From 44e008b01f72c3f02ab3328cdc44f987617f272b Mon Sep 17 00:00:00 2001 From: Vladimir Glazounov Date: Mon, 16 Mar 2009 19:01:31 +0000 Subject: CWS-TOOLING: integrate CWS ooo31gsl4_DEV300 2009-03-11 16:07:53 +0100 gh r269340 : missed compile on bigendian system (OSL_BIGENDIAN defined) 2009-03-11 10:22:27 +0100 pl r269300 : #i100057# one more case 2009-03-10 15:10:01 +0100 pl r269274 : #i100057# filter formatting marks in vcl i18n helper 2009-03-10 13:31:01 +0100 gh r269269 : #i100044#remove BiDi markers before sending to VCLTestTool 2009-03-10 10:16:05 +0100 hdu r269248 : #i100057# fix casefolding::getNextChar() end-of-string behaviour 2009-03-10 09:51:36 +0100 hdu r269245 : #i100044# add TransliterationModules_IGNORE_FORMATTING option 2009-03-09 14:30:00 +0100 pl r269176 : #i99360# workaround XIfEvent never returning --- i18nutil/source/utility/casefolding.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'i18nutil/source') diff --git a/i18nutil/source/utility/casefolding.cxx b/i18nutil/source/utility/casefolding.cxx index 401a2a5803f7..8a679b8afbe5 100644 --- a/i18nutil/source/utility/casefolding.cxx +++ b/i18nutil/source/utility/casefolding.cxx @@ -131,9 +131,13 @@ is_ja_voice_sound_mark(sal_Unicode& current, sal_Unicode next) sal_Unicode casefolding::getNextChar(const sal_Unicode *str, sal_Int32& idx, sal_Int32 len, MappingElement& e, Locale& aLocale, sal_uInt8 nMappingType, TransliterationModules moduleLoaded) throw (RuntimeException) { + if( idx >= len ) + return 0; + sal_Unicode c; + if (moduleLoaded & TransliterationModules_IGNORE_CASE) { - if (e.current >= e.element.nmap && idx < len ) { + if( e.current >= e.element.nmap ) { e.element = getValue(str, idx++, len, aLocale, nMappingType); e.current = 0; } @@ -141,6 +145,7 @@ sal_Unicode casefolding::getNextChar(const sal_Unicode *str, sal_Int32& idx, sal } else { c = *(str + idx++); } + if (moduleLoaded & TransliterationModules_IGNORE_KANA) { if (0x3040 <= c && c <= 0x3094 || 0x309d <= c && c <= 0x309f) c += 0x60; @@ -154,7 +159,9 @@ sal_Unicode casefolding::getNextChar(const sal_Unicode *str, sal_Int32& idx, sal is_ja_voice_sound_mark(c, half2fullTable[*(str + idx)])) idx++; } + return c; } } } } } + -- cgit v1.2.3