http://bugs.winehq.org/show_bug.cgi?id=25251
Summary: Multi-byte characters handled incorrectly by MSVCRT_isleadbyte() Product: Wine Version: 1.3.7 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msvcrt AssignedTo: wine-bugs@winehq.org ReportedBy: nagatospam@gmail.com
Created an attachment (id=32067) --> (http://bugs.winehq.org/attachment.cgi?id=32067) Possible fix
Here's a case that can be used to test with: _mbspbrk("C:\age\マブラヴオルタネイティヴ\Alternative.rio.ici", ";,|*?"<>{}[]");
None of the Japanese characters are interpreted as multi-byte by MSVCRT_isleadbyte() so when _mbspbrk reaches 'マ' (0x837D) it matches the '}' (0x7D) from the match string with the second byte of 'マ'.
Only tested in Japanese locale but probably happens with others. Attached is a simple fix that fixes the 2 games that I tested.
http://bugs.winehq.org/show_bug.cgi?id=25251
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #1 from Austin English austinenglish@gmail.com 2010-11-21 18:18:47 CST --- Please send patches to wine-patches@winehq.org
http://bugs.winehq.org/show_bug.cgi?id=25251
--- Comment #2 from Nagato nagatospam@gmail.com 2010-11-21 18:28:41 CST --- (In reply to comment #1)
Please send patches to wine-patches@winehq.org
Will do. Thanks.
http://bugs.winehq.org/show_bug.cgi?id=25251
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #3 from Piotr Caban piotr.caban@gmail.com 2011-10-04 14:57:48 CDT --- Is this still an issue? If yes, is the application downloadable?
http://bugs.winehq.org/show_bug.cgi?id=25251
--- Comment #4 from Nagato nagatospam@gmail.com 2011-10-08 08:59:34 CDT --- Hi Piotr. The bug still exists as of the latest wine-git. There are no demos available for the games so I wrote a quick test application that displays the problem.
Source: http://privatepaste.com/2bc5be7d8e Source + EXE: http://www.mediafire.com/?ewywwetiwm7h7jb
Results: Windows XP (without Japanese locale) - Passes (received expected failure) Windows 7 (with Japanese locale) - Passes wine-1.3.29-245-g895b48e (with LANG="ja_JP.UTF-8"): Fails wine-1.3.29-245-g895b48e (without LANG setting): Passes (received expected failure) Patched wine-1.3.29-245-g895b48e (with proposed fix attached last year, with LANG="ja_JP.UTF-8"): Passes Patched wine-1.3.29-245-g895b48e (with proposed fix attached last year, without LANG setting): Passes (received expected failure)
This fixme is shown when using the LANG setting. fixme:msvcrt:_setmbcp trail bytes data not available for DBCS codepage 0 - assuming all bytes
http://bugs.winehq.org/show_bug.cgi?id=25251
Piotr Caban piotr@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr@codeweavers.com
--- Comment #5 from Piotr Caban piotr@codeweavers.com 2011-10-12 15:10:49 CDT --- I've sent a set of patches that should fix the issue. I'm still planning to do some more changes related multibyte codepages handling.
The commit that is probably fixing it: c32d4e8840421c698a63d77c44b62ad0da3b1de8 (it's part of a bigger series so other patches may affect the application as well).
Could you please retest?
http://bugs.winehq.org/show_bug.cgi?id=25251
Nagato nagatospam@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #6 from Nagato nagatospam@gmail.com 2011-10-12 17:15:57 CDT --- Thanks for the patches. Using wine-1.3.30-70-gd0c38ec and the test case I provided and the listed affected games work now. Since everything appears to be working as far as what I was reporting goes, I'm marking the report as fixed.
http://bugs.winehq.org/show_bug.cgi?id=25251
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |c32d4e8840421c698a63d77c44b | |62ad0da3b1de8
http://bugs.winehq.org/show_bug.cgi?id=25251
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2011-10-21 13:50:21 CDT --- Closing bugs fixed in 1.3.31.