[KERNEL32]

* Sync GetLocaleInfoW with Wine 1.5.26.
CORE-7281

svn path=/trunk/; revision=59614
This commit is contained in:
Amine Khaldi 2013-08-01 16:15:11 +00:00
parent 4146ef0e85
commit 00c23e8433

View file

@ -754,6 +754,10 @@ INT WINAPI GetLocaleInfoA( LCID lcid, LCTYPE lctype, LPSTR buffer, INT len )
return ret;
}
static int get_value_base_by_lctype( LCTYPE lctype )
{
return lctype == LOCALE_ILANGUAGE || lctype == LOCALE_IDEFAULTLANGUAGE ? 16 : 10;
}
/******************************************************************************
* GetLocaleInfoW (KERNEL32.@)
@ -807,7 +811,7 @@ INT WINAPI GetLocaleInfoW( LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len )
if (ret > 0)
{
WCHAR *end;
UINT number = strtolW( tmp, &end, 10 );
UINT number = strtolW( tmp, &end, get_value_base_by_lctype( lctype ) );
if (*end) /* invalid number */
{
SetLastError( ERROR_INVALID_FLAGS );
@ -880,7 +884,7 @@ INT WINAPI GetLocaleInfoW( LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len )
if (!tmp) return 0;
memcpy( tmp, p + 1, *p * sizeof(WCHAR) );
tmp[*p] = 0;
number = strtolW( tmp, &end, 10 );
number = strtolW( tmp, &end, get_value_base_by_lctype( lctype ) );
if (!*end)
memcpy( buffer, &number, sizeof(number) );
else /* invalid number */