PATCH:kernel32/locale:Fix some bugs about special Chinese test inparse_locale_name()
Nikolay Sivov
bunglehead at gmail.com
Fri Apr 14 11:00:31 CDT 2017
On 14.04.2017 13:58, loagen95 wrote:
> I tried in this way ,but it doesn't work.
> 发自我的iPhone
Please be more specific, what did you try and it didn't work?
>
>
> ------------------ Original ------------------
> *From:* Nikolay Sivov <bunglehead at gmail.com>
> *Date:* Fri,Apr 14,2017 18:42
> *To:* wine-devel <wine-devel at winehq.org>
> *Cc:* loagen95 <loagen95 at gmail.com>
> *Subject:* Re: PATCH:kernel32/locale:Fix some bugs about special Chinese
> test inparse_locale_name()
>
> On 14.04.2017 13:21, THuang wrote:
>>
>>
>
>
>> @@ -457,6 +457,8 @@ static void parse_locale_name( const WCHAR *str, struct locale_name *name )
>> static const WCHAR cW[] = {'C',0};
>> static const WCHAR latinW[] = {'l','a','t','i','n',0};
>> static const WCHAR latnW[] = {'-','L','a','t','n',0};
>> + static const WCHAR HantW[] = {'-','H','a','n','t',0};
>> + static const WCHAR HansW[] = {'-','H','a','n','s',0};
>> WCHAR *p;
>>
>> TRACE("%s\n", debugstr_w(str));
>> @@ -487,6 +489,16 @@ static void parse_locale_name( const WCHAR *str, struct locale_name *name )
>> else if (*p == '-') /* Windows format */
>> {
>> strcpyW( name->win_name, name->lang );
>> + if(!strcmpiW(p,HantW)){
>> + name->lcid = 0x0c04;
>> + name->matches = 1;
>> + return ;
>> + }
>> + if(!strcmpiW(p,HansW)){
>> + name->lcid = 0x0804;
>> + name->matches = 1;
>> + return ;
>> + }
>> *p++ = 0;
>> name->country = p;
>> if (!(p = strpbrkW( p, winsepW ))) goto done;
>
> Well, no, that's not how it works. Did you explore a possibility if
> adding hant/hans specific locale data to kernel32/nls will help?
>
More information about the wine-devel
mailing list