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);