Fix kernel locale test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The kernel32 test needs IsValidLanguageGroup, which isn't
present on Win98. This patch makes the kernel test run on
Win98 as well.

 -Hans

Changelog
  Deal with older kernels that don't have IsValidLanguageGroup

Index: dlls/kernel/tests/locale.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/tests/locale.c,v
retrieving revision 1.23
diff -u -r1.23 locale.c
--- dlls/kernel/tests/locale.c	22 Nov 2003 00:00:53 -0000	1.23
+++ dlls/kernel/tests/locale.c	7 Dec 2003 21:24:18 -0000
@@ -77,6 +77,9 @@
 typedef INT (WINAPI *FoldStringWFn)(DWORD, LPCWSTR, INT, LPWSTR, INT);
 static FoldStringWFn pFoldStringW;
 
+typedef BOOL (WINAPI *IsValidLanguageGroupFn)(LGRPID, DWORD);
+static IsValidLanguageGroupFn pIsValidLanguageGroup;
+
 static void InitFunctionPointers(void)
 {
   hKernel32 = GetModuleHandleA("kernel32");
@@ -87,6 +90,7 @@
     pEnumLanguageGroupLocalesA = (void*)GetProcAddress(hKernel32, "EnumLanguageGroupLocalesA");
     pFoldStringA = (void*)GetProcAddress(hKernel32, "FoldStringA");
     pFoldStringW = (void*)GetProcAddress(hKernel32, "FoldStringW");
+    pIsValidLanguageGroup = (void*)GetProcAddress(hKernel32, "IsValidLanguageGroup");
   }
 }
 
@@ -1900,7 +1904,7 @@
   trace("%08lx, %s, %s, %08lx, %08lx\n",
         lgrpid, lpszNum, lpszName, dwFlags, lParam);
 
-  ok(IsValidLanguageGroup(lgrpid, dwFlags) == TRUE,
+  ok(pIsValidLanguageGroup(lgrpid, dwFlags) == TRUE,
      "Enumerated grp %ld not valid (flags %ld)\n", lgrpid, dwFlags);
 
   /* If lParam is one, we are calling with flags defaulted from 0 */
@@ -1912,7 +1916,7 @@
 
 static void test_EnumSystemLanguageGroupsA(void)
 {
-  if (!pEnumSystemLanguageGroupsA)
+  if (!pEnumSystemLanguageGroupsA || !pIsValidLanguageGroup)
     return;
 
   /* No enumeration proc */
@@ -1940,7 +1944,7 @@
 {
   trace("%08lx, %08lx, %s, %08lx\n", lgrpid, lcid, lpszNum, lParam);
 
-  ok(IsValidLanguageGroup(lgrpid, LGRPID_SUPPORTED) == TRUE,
+  ok(pIsValidLanguageGroup(lgrpid, LGRPID_SUPPORTED) == TRUE,
      "Enumerated grp %ld not valid\n", lgrpid);
   ok(IsValidLocale(lcid, LCID_SUPPORTED) == TRUE,
      "Enumerated grp locale %ld not valid\n", lcid);
@@ -1949,8 +1953,8 @@
 
 static void test_EnumLanguageGroupLocalesA(void)
 {
-  if (!pEnumLanguageGroupLocalesA)
-   return;
+  if (!pEnumLanguageGroupLocalesA || !pIsValidLanguageGroup)
+    return;
 
   /* No enumeration proc */
   SetLastError(0);

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux