Changelog: * dlls/kernel/tests/codepage.c The Win9x platforms support WideCharToMultiByte and MultiByteToWideChar but not lstrcmpW! So I implemented our own so that we can have a meaningful test Index: dlls/kernel/tests/codepage.c =================================================================== RCS file: /home/wine/wine/dlls/kernel/tests/codepage.c,v retrieving revision 1.1 diff -u -r1.1 codepage.c --- dlls/kernel/tests/codepage.c 4 Oct 2002 17:42:27 -0000 1.1 +++ dlls/kernel/tests/codepage.c 11 Dec 2002 19:30:51 -0000 @@ -22,6 +22,16 @@ #include "winbase.h" #include "winnls.h" +/* lstrcmpW is not supported on Win9x! */ +static int mylstrcmpW(const WCHAR* str1, const WCHAR* str2) +{ + while (*str1 && *str1==*str2) { + str1++; + str2++; + } + return *str1-*str2; +} + static void test_negative_source_length(void) { int len; @@ -31,14 +41,16 @@ /* Test, whether any negative source length works as strlen() + 1 */ SetLastError( 0xdeadbeef ); + memset(buf,'x',sizeof(buf)); len = WideCharToMultiByte(CP_ACP, 0, foobarW, -2002, buf, 10, NULL, NULL); ok(len == 7 && !lstrcmpA(buf, "foobar") && GetLastError() == 0xdeadbeef, - "any negative value should work as strlen() + 1"); + "WideCharToMultiByte(-2002): len=%d error=%ld",len,GetLastError()); SetLastError( 0xdeadbeef ); + memset(bufW,'x',sizeof(bufW)); len = MultiByteToWideChar(CP_ACP, 0, "foobar", -2002, bufW, 10); - ok(len == 7 && !lstrcmpW(bufW, foobarW) && GetLastError() == 0xdeadbeef, - "any negative value should work as strlen() + 1"); + ok(len == 7 && !mylstrcmpW(bufW, foobarW) && GetLastError() == 0xdeadbeef, + "MultiByteToWideChar(-2002): len=%d error=%ld",len,GetLastError()); } START_TEST(codepage) -- Francois Gouget fgouget@free.fr http://fgouget.free.fr/ Linux, WinNT, MS-DOS - also known as the Good, the Bad and the Ugly.