[ros-diffs] [dgorbachev] 37836: Fix Unicode -> Multibyte conversion (bug #3903).
dgorbachev at svn.reactos.org
dgorbachev at svn.reactos.org
Wed Dec 3 18:40:52 CET 2008
Author: dgorbachev
Date: Wed Dec 3 11:40:49 2008
New Revision: 37836
URL: http://svn.reactos.org/svn/reactos?rev=37836&view=rev
Log:
Fix Unicode -> Multibyte conversion (bug #3903).
Modified:
trunk/reactos/dll/win32/kernel32/misc/nls.c
Modified: trunk/reactos/dll/win32/kernel32/misc/nls.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/misc/nls.c?rev=37836&r1=37835&r2=37836&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/misc/nls.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/misc/nls.c [iso-8859-1] Wed Dec 3 11:40:49 2008
@@ -433,7 +433,7 @@
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 @@
{
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);
More information about the Ros-diffs
mailing list