From cc57b863b5cf19a96a518446aac3ebe1bd881127 Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Mon, 6 Oct 2008 13:12:03 +0200 Subject: [PATCH] kernel32/tests: Fix the remaining errors on win95. --- dlls/kernel32/tests/codepage.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/dlls/kernel32/tests/codepage.c b/dlls/kernel32/tests/codepage.c index c7daf19524b..8dc6af949ed 100644 --- a/dlls/kernel32/tests/codepage.c +++ b/dlls/kernel32/tests/codepage.c @@ -236,21 +236,26 @@ static void test_string_conversion(LPBOOL bUsedDefaultChar) if(bUsedDefaultChar) ok(*bUsedDefaultChar == TRUE, "bUsedDefaultChar is %d\n", *bUsedDefaultChar); ok(GetLastError() == 0xdeadbeef, "GetLastError() is %u\n", GetLastError()); - SetLastError(0xdeadbeef); - ret = WideCharToMultiByte(1251, 0, &wc2, 1, &mbc, 1, NULL, bUsedDefaultChar); - ok(ret == 1, "ret is %d\n", ret); - ok(mbc == -16, "mbc is %d\n", mbc); - if(bUsedDefaultChar) ok(*bUsedDefaultChar == FALSE, "bUsedDefaultChar is %d\n", *bUsedDefaultChar); - ok(GetLastError() == 0xdeadbeef || - broken(GetLastError() == 0), /* win95 */ - "GetLastError() is %u\n", GetLastError()); - - SetLastError(0xdeadbeef); - ret = WideCharToMultiByte(1251, 0, &wc1, 1, &mbc, 1, NULL, bUsedDefaultChar); - ok(ret == 1, "ret is %d\n", ret); - ok(mbc == 97, "mbc is %d\n", mbc); - if(bUsedDefaultChar) ok(*bUsedDefaultChar == FALSE, "bUsedDefaultChar is %d\n", *bUsedDefaultChar); - ok(GetLastError() == 0xdeadbeef, "GetLastError() is %u\n", GetLastError()); + if (IsValidCodePage(1251)) + { + SetLastError(0xdeadbeef); + ret = WideCharToMultiByte(1251, 0, &wc2, 1, &mbc, 1, NULL, bUsedDefaultChar); + ok(ret == 1, "ret is %d\n", ret); + ok(mbc == -16, "mbc is %d\n", mbc); + if(bUsedDefaultChar) ok(*bUsedDefaultChar == FALSE, "bUsedDefaultChar is %d\n", *bUsedDefaultChar); + ok(GetLastError() == 0xdeadbeef || + broken(GetLastError() == 0), /* win95 */ + "GetLastError() is %u\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = WideCharToMultiByte(1251, 0, &wc1, 1, &mbc, 1, NULL, bUsedDefaultChar); + ok(ret == 1, "ret is %d\n", ret); + ok(mbc == 97, "mbc is %d\n", mbc); + if(bUsedDefaultChar) ok(*bUsedDefaultChar == FALSE, "bUsedDefaultChar is %d\n", *bUsedDefaultChar); + ok(GetLastError() == 0xdeadbeef, "GetLastError() is %u\n", GetLastError()); + } + else + skip("Codepage 1251 not available\n"); /* This call triggers the last Win32 error */ SetLastError(0xdeadbeef); -- 2.11.4.GIT