Kaydet (Commit) 0b8a21a3 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Don't assume sal_Unicode is unsigned short

Change-Id: I727951614587654c11af5f6635a45c52ebec1b5a
üst 1acbdc6b
...@@ -121,7 +121,10 @@ IndexEntrySupplier_asian::getIndexCharacter( const OUString& rIndexEntry, ...@@ -121,7 +121,10 @@ IndexEntrySupplier_asian::getIndexCharacter( const OUString& rIndexEntry,
sal_uInt16 address=idx[0][ch >> 8]; sal_uInt16 address=idx[0][ch >> 8];
if (address != 0xFFFF) { if (address != 0xFFFF) {
address=idx[1][address+(ch & 0xFF)]; address=idx[1][address+(ch & 0xFF)];
return idx[2] ? OUString(&idx[2][address]) : OUString(address); return idx[2]
? OUString(
reinterpret_cast<sal_Unicode *>(&idx[2][address]))
: OUString(sal_Unicode(address));
} }
} }
} }
...@@ -190,7 +193,8 @@ IndexEntrySupplier_asian::getPhoneticCandidate( const OUString& rIndexEntry, ...@@ -190,7 +193,8 @@ IndexEntrySupplier_asian::getPhoneticCandidate( const OUString& rIndexEntry,
if ( i > 0 && rLocale.Language == "zh" ) if ( i > 0 && rLocale.Language == "zh" )
candidate.append(" "); candidate.append(" ");
if (idx[2]) if (idx[2])
candidate.append(&idx[2][address]); candidate.append(
reinterpret_cast<sal_Unicode *>(&idx[2][address]));
else else
candidate.append(address); candidate.append(address);
} else } else
......
...@@ -318,7 +318,8 @@ static OUString SAL_CALL NativeToAscii(const OUString& inStr, ...@@ -318,7 +318,8 @@ static OUString SAL_CALL NativeToAscii(const OUString& inStr,
multiplierChar = OUString(MultiplierChar_7_CJK[0], ExponentCount_7_CJK*Multiplier_Count); multiplierChar = OUString(MultiplierChar_7_CJK[0], ExponentCount_7_CJK*Multiplier_Count);
decimalChar = OUString(DecimalChar, NumberChar_Count); decimalChar = OUString(DecimalChar, NumberChar_Count);
minusChar = OUString(MinusChar, NumberChar_Count); minusChar = OUString(MinusChar, NumberChar_Count);
separatorChar = OUString(SeparatorChar, NumberChar_Count); separatorChar = OUString(
reinterpret_cast<sal_Unicode *>(SeparatorChar), NumberChar_Count);
for ( i = 0; i < nCount; i++) { for ( i = 0; i < nCount; i++) {
if ((index = multiplierChar.indexOf(str[i])) >= 0) { if ((index = multiplierChar.indexOf(str[i])) >= 0) {
......
...@@ -38,7 +38,8 @@ TextToPronounce_zh::getPronounce(const sal_Unicode ch) ...@@ -38,7 +38,8 @@ TextToPronounce_zh::getPronounce(const sal_Unicode ch)
if (idx) { if (idx) {
sal_uInt16 address = idx[0][ch>>8]; sal_uInt16 address = idx[0][ch>>8];
if (address != 0xFFFF) if (address != 0xFFFF)
return &idx[2][idx[1][address + (ch & 0xFF)]]; return reinterpret_cast<sal_Unicode *>(
&idx[2][idx[1][address + (ch & 0xFF)]]);
} }
return emptyString; return emptyString;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment