use proper scancode to create upper-case hex numbers directly
authorThomas Bluemel <thomas@reactsoft.com>
Wed, 11 May 2005 13:20:34 +0000 (13:20 +0000)
committerThomas Bluemel <thomas@reactsoft.com>
Wed, 11 May 2005 13:20:34 +0000 (13:20 +0000)
svn path=/trunk/; revision=15205

reactos/lib/cpl/intl/locale.c

index d86137b..86939eb 100644 (file)
@@ -95,6 +95,7 @@ void SetNewLocale(LCID lcid)
        HKEY langKey;
        DWORD ret;
        TCHAR value[9];
+       DWORD lenvalue;
 
        ret = RegOpenKeyW(HKEY_CURRENT_USER, L"Control Panel\\International", &localeKey);
 
@@ -105,9 +106,10 @@ void SetNewLocale(LCID lcid)
                return;
        }
 
-       wsprintf(value, L"%04x", (DWORD)lcid);
+       wsprintf(value, L"%04X", (DWORD)lcid);
+       lenvalue = wcslen(value);
 
-       RegSetValueExW(localeKey, L"Locale", 0, REG_SZ, (BYTE *) _wcsupr(value), sizeof(value));
+       RegSetValueExW(localeKey, L"Locale", 0, REG_SZ, (BYTE *)value, lenvalue * sizeof(WCHAR));
        RegCloseKey(localeKey);
 
        // Set language
@@ -116,8 +118,8 @@ void SetNewLocale(LCID lcid)
        if (ret != ERROR_SUCCESS)
                return;
 
-       RegSetValueExW(langKey, L"Default", 0, REG_SZ, (BYTE *)_wcsupr(value), sizeof(value));
-       RegSetValueExW(langKey, L"InstallLanguage", 0, REG_SZ, (BYTE *) _wcsupr(value), sizeof(value));
+       RegSetValueExW(langKey, L"Default", 0, REG_SZ, (BYTE *)value, lenvalue * sizeof(WCHAR));
+       RegSetValueExW(langKey, L"InstallLanguage", 0, REG_SZ, (BYTE *)value, lenvalue * sizeof(WCHAR));
        RegCloseKey(langKey);
 }