PATCH:kernel32/locale:Fix some bugs about special Chinese test in parse_locale_name()
Nikolay Sivov
bunglehead at gmail.com
Fri Apr 14 05:42:16 CDT 2017
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