msvcrt:string Fix codepage table 1361 (Korean Johab) [try3]

GOUJON Alexandre ale.goujon at gmail.com
Fri Sep 3 05:03:30 CDT 2010


On 09/03/2010 11:18 AM, Alexandre Julliard wrote:
> A quick test on Windows shows that this isn't correct as far as the
> kernel32 info is concerned

Huh ? What test did you do ?
I compiled the attached source with mingw on my virtual XP. 
(unfortunately, G**gle prevent me from attaching the produced executable)
I used the __p__mbcbyte() function to retrieve the complete 
MSVCRT_mbctype 
(http://source.winehq.org/git/wine.git/?a=blob;f=dlls/msvcrt/mbcs.c#l159)

On my windows, there is no output.
On wine :
alex at Evan:~$ wine /VM/share/test_mbcs.exe
8 != 12 @ 0x82 (130)
8 != 12 @ 0x83 (131)
8 != 12 @ 0x84 (132)
8 != 12 @ 0xD9 (217)

It misses (12-8=) 4 (_M1) added here 
(http://source.winehq.org/git/wine.git/?a=blob;f=dlls/msvcrt/mbcs.c#l231) if 
they are leading bytes.

That's why I modify the range of the leading bytes of the 1361 codepage 
table from 84-d3 to 81-d3 and from d9-de to d8-de.

And tests say that ( dlls/msvcrt/tests/string.c ~line 354)

expect_eq(_ismbblead(0x81), 1, int, "%d");
expect_eq(_ismbblead(0x83), 1, int, "%d");
expect_eq(_ismbblead(0xd8), 1, int, "%d");


I may have missed something or my virtual XP is really specific or it 
depends on windows version.
Any idea ?

Thanks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_mbcs.c
Type: text/x-csrc
Size: 1563 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20100903/edc773bf/attachment.c>


More information about the wine-devel mailing list