[2/2] kernel32: Handle LOCALE_NAME_INVARIANT

André Hentschel nerv at dawncrow.de
Wed Mar 7 08:55:44 CST 2012


---
 dlls/kernel32/locale.c       |    4 ++++
 dlls/kernel32/tests/locale.c |    2 +-
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index 20451ff..438a6d8 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -967,6 +967,7 @@ LANGID WINAPI GetSystemDefaultUILanguage(void)
 }
 
 
+#define LCID_INVARIANT 0x7F /* FIXME */
 /***********************************************************************
  *           LocaleNameToLCID  (KERNEL32.@)
  */
@@ -978,6 +979,8 @@ LCID WINAPI LocaleNameToLCID( LPCWSTR name, DWORD flags )
 
     if (name == LOCALE_NAME_USER_DEFAULT)
         return GetUserDefaultLCID();
+    else if (!strcmpW( name, LOCALE_NAME_INVARIANT ))
+        return LCID_INVARIANT;
 
     /* string parsing */
     parse_locale_name( name, &locale_name );
@@ -1002,6 +1005,7 @@ INT WINAPI LCIDToLocaleName( LCID lcid, LPWSTR name, INT count, DWORD flags )
 {
     if (flags) FIXME( "unsupported flags %x\n", flags );
 
+    if (lcid == LCID_INVARIANT) lcid = GetSystemDefaultLCID();
     return GetLocaleInfoW( lcid, LOCALE_SNAME | LOCALE_NOUSEROVERRIDE, name, count );
 }
 
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index 49678ce..3780e9b 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -1672,7 +1672,7 @@ static void test_LocaleNames(void)
 
     buffer[0] = 0;
     lcid = pLocaleNameToLCID(LOCALE_NAME_INVARIANT, 0);
-    todo_wine ok(lcid == 0x7F, "Expected lcid = 0x7F, got %08x, error %d\n", lcid, GetLastError());
+    ok(lcid == 0x7F, "Expected lcid = 0x7F, got %08x, error %d\n", lcid, GetLastError());
     ret = pLCIDToLocaleName(lcid, buffer, LOCALE_NAME_MAX_LENGTH, 0);
     ok(ret > 0, "Expected ret > 0, got %d, error %d\n", ret, GetLastError());
     trace("%08x, %s\n", lcid, wine_dbgstr_w(buffer));
-- 

Best Regards, André Hentschel
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Nachrichtenteil als Anhang
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120307/b1870b8d/attachment.ksh>


More information about the wine-patches mailing list