Fix Unicode -> Multibyte conversion (bug #3903).

svn path=/trunk/; revision=37836
This commit is contained in:
Dmitry Gorbachev 2008-12-03 17:40:49 +00:00
parent 774b7483da
commit a8089cfb97

View file

@ -433,7 +433,7 @@ IntMultiByteToWideCharCP(UINT CodePage,
UCHAR Char;
USHORT DBCSOffset;
LPCSTR MbsEnd = MultiByteString + MultiByteCount;
ULONG Count;
INT Count;
/* Does caller query for output buffer size? */
if (WideCharCount == 0)
@ -770,8 +770,9 @@ IntIsValidDBCSMapping(PCPTABLEINFO CodePageTable, DWORD Flags, WCHAR wch, USHORT
{
if(ch & 0xff00)
{
UCHAR uOffset = CodePageTable->DBCSOffsets[ch >> 8];
return (CodePageTable->MultiByteTable[(uOffset << 8) + (ch & 0xff)] == wch);
USHORT uOffset = CodePageTable->DBCSOffsets[ch >> 8];
/* if (!uOffset) return (CodePageTable->MultiByteTable[ch] == wch); */
return (CodePageTable->DBCSOffsets[uOffset + (ch & 0xff)] == wch);
}
return (CodePageTable->MultiByteTable[ch] == wch);