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