diff options
Diffstat (limited to 'sal/textenc/tcvtmb.cxx')
-rw-r--r-- | sal/textenc/tcvtmb.cxx | 77 |
1 files changed, 32 insertions, 45 deletions
diff --git a/sal/textenc/tcvtmb.cxx b/sal/textenc/tcvtmb.cxx index d36f5b8a4d17..a41611a84669 100644 --- a/sal/textenc/tcvtmb.cxx +++ b/sal/textenc/tcvtmb.cxx @@ -72,13 +72,12 @@ sal_Size ImplDBCSToUnicode( const void* pData, SAL_UNUSED_PARAMETER void*, *pInfo |= RTL_TEXTTOUNICODE_INFO_ERROR; break; } - else if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_MASK) == RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_IGNORE ) + if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_MASK) == RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_IGNORE ) { pSrcBuf++; continue; } - else - cConv = ImplGetUndefinedUnicodeChar(cLead, nFlags); + cConv = ImplGetUndefinedUnicodeChar(cLead, nFlags); } } else @@ -120,33 +119,27 @@ sal_Size ImplDBCSToUnicode( const void* pData, SAL_UNUSED_PARAMETER void*, (cTrail-pEUDCTab->mnTrail1Start); break; } - else + sal_uInt16 nTrailCount = pEUDCTab->mnTrail1End-pEUDCTab->mnTrail1Start+1; + if ( (pEUDCTab->mnTrailCount >= 2) && + (cTrail >= pEUDCTab->mnTrail2Start) && + (cTrail <= pEUDCTab->mnTrail2End) ) + { + cConv = pEUDCTab->mnUniStart+ + ((cLead-pEUDCTab->mnLeadStart)*pEUDCTab->mnTrailRangeCount)+ + nTrailCount+ + (cTrail-pEUDCTab->mnTrail2Start); + break; + } + nTrailCount = pEUDCTab->mnTrail2End-pEUDCTab->mnTrail2Start+1; + if ( (pEUDCTab->mnTrailCount >= 3) && + (cTrail >= pEUDCTab->mnTrail3Start) && + (cTrail <= pEUDCTab->mnTrail3End) ) { - sal_uInt16 nTrailCount = pEUDCTab->mnTrail1End-pEUDCTab->mnTrail1Start+1; - if ( (pEUDCTab->mnTrailCount >= 2) && - (cTrail >= pEUDCTab->mnTrail2Start) && - (cTrail <= pEUDCTab->mnTrail2End) ) - { - cConv = pEUDCTab->mnUniStart+ - ((cLead-pEUDCTab->mnLeadStart)*pEUDCTab->mnTrailRangeCount)+ - nTrailCount+ - (cTrail-pEUDCTab->mnTrail2Start); - break; - } - else - { - nTrailCount = pEUDCTab->mnTrail2End-pEUDCTab->mnTrail2Start+1; - if ( (pEUDCTab->mnTrailCount >= 3) && - (cTrail >= pEUDCTab->mnTrail3Start) && - (cTrail <= pEUDCTab->mnTrail3End) ) - { - cConv = pEUDCTab->mnUniStart+ - ((cLead-pEUDCTab->mnLeadStart)*pEUDCTab->mnTrailRangeCount)+ - nTrailCount+ - (cTrail-pEUDCTab->mnTrail3Start); - break; - } - } + cConv = pEUDCTab->mnUniStart+ + ((cLead-pEUDCTab->mnLeadStart)*pEUDCTab->mnTrailRangeCount)+ + nTrailCount+ + (cTrail-pEUDCTab->mnTrail3Start); + break; } } @@ -172,13 +165,12 @@ sal_Size ImplDBCSToUnicode( const void* pData, SAL_UNUSED_PARAMETER void*, *pInfo |= RTL_TEXTTOUNICODE_INFO_ERROR; break; } - else if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_INVALID_MASK) == RTL_TEXTTOUNICODE_FLAGS_INVALID_IGNORE ) + if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_INVALID_MASK) == RTL_TEXTTOUNICODE_FLAGS_INVALID_IGNORE ) { pSrcBuf++; continue; } - else - cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; + cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; } } } @@ -191,13 +183,12 @@ sal_Size ImplDBCSToUnicode( const void* pData, SAL_UNUSED_PARAMETER void*, *pInfo |= RTL_TEXTTOUNICODE_INFO_ERROR; break; } - else if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_MASK) == RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_IGNORE ) + if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_MASK) == RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_IGNORE ) { pSrcBuf++; continue; } - else - cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; + cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; } } @@ -334,8 +325,7 @@ sal_Size ImplUnicodeToDBCS( const void* pData, SAL_UNUSED_PARAMETER void*, &pSrcBuf, pEndSrcBuf, &pDestBuf, pEndDestBuf, nFlags, pInfo)) continue; - else - break; + break; } /* SingleByte */ @@ -495,13 +485,12 @@ sal_Size ImplEUCJPToUnicode( const void* pData, *pInfo |= RTL_TEXTTOUNICODE_INFO_ERROR; break; } - else if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_INVALID_MASK) == RTL_TEXTTOUNICODE_FLAGS_INVALID_IGNORE ) + if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_INVALID_MASK) == RTL_TEXTTOUNICODE_FLAGS_INVALID_IGNORE ) { pSrcBuf++; continue; } - else - cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; + cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; } else { @@ -511,13 +500,12 @@ sal_Size ImplEUCJPToUnicode( const void* pData, *pInfo |= RTL_TEXTTOUNICODE_INFO_ERROR; break; } - else if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_MASK) == RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_IGNORE ) + if ( (nFlags & RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_MASK) == RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_IGNORE ) { pSrcBuf++; continue; } - else - cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; + cConv = RTL_TEXTENC_UNICODE_REPLACEMENT_CHARACTER; } } } @@ -616,8 +604,7 @@ sal_Size ImplUnicodeToEUCJP( const void* pData, &pSrcBuf, pEndSrcBuf, &pDestBuf, pEndDestBuf, nFlags, pInfo)) continue; - else - break; + break; } } } |