kernel32: implement IsValidLocaleName (as a wrapper around IsValidLocale)

Austin English austinenglish at gmail.com
Tue Jul 10 07:33:25 CDT 2012


Finishes http://bugs.winehq.org/show_bug.cgi?id=31130. Should be
applied after kernel32.dll GetLocaleInfoEx (please let me know if I
should resend as a series).

-- 
-Austin
-------------- next part --------------
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 7c8f9e2..e7669c1 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -776,6 +776,7 @@
 @ stdcall IsValidCodePage(long)
 @ stdcall IsValidLanguageGroup(long long)
 @ stdcall IsValidLocale(long long)
+@ stdcall IsValidLocaleName(wstr)
 # @ stub IsValidUILanguage
 @ stdcall IsWow64Process(ptr ptr)
 @ stdcall K32EmptyWorkingSet(long)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c
index 748969e..0e96430 100644
--- a/dlls/kernel32/locale.c
+++ b/dlls/kernel32/locale.c
@@ -2202,6 +2202,21 @@ BOOL WINAPI IsValidLocale( LCID lcid, DWORD flags )
                             (LPCWSTR)LOCALE_ILANGUAGE, LANGIDFROMLCID(lcid)) != 0;
 }
 
+/******************************************************************************
+ *           IsValidLocaleName   (KERNEL32.@)
+ *
+ * See IsValidLocale().
+ */
+BOOL WINAPI IsValidLocaleName( LPCWSTR locale )
+{
+    LCID lcid;
+    BOOL ret;
+
+    TRACE( "locale: %s\n", debugstr_w(locale) );
+    lcid = LocaleNameToLCID( locale, 0 );
+    ret = IsValidLocale( lcid, 0 );
+    return ret;
+}
 
 static BOOL CALLBACK enum_lang_proc_a( HMODULE hModule, LPCSTR type,
                                        LPCSTR name, WORD LangID, LONG_PTR lParam )
-- 
1.7.10.4


More information about the wine-patches mailing list