Paul Vriens wrote:
Detlef Riekenberg wrote:
On Mi, 2009-04-15 at 13:37 +0200, Paul Vriens wrote:

The lstrcpyW and lstrcatW additions to init() in the tests don't work on Win95. I guess that's where the new failures come from:

I removed a "broken(hres == VARCMP_GT)", and that's what VarCmp on your w95 machine returned.
My second Patch for oleaut32/tests/vartest.c was not applied, otherwise
we
would have seen the reason in the log.

Can you please use the attached diff and post the result?
Thanks


Here it is:

vartest.c:127: Tests skipped: No support for I8 and UI8 data types
vartest.c:5452: got 0x0 and VT_BSTR(12True) for VT_INT(12), VT_BOOL(1)
vartest.c:5455: got 0x2 for VT_BSTR(12True), VT_BSTR()
vartest.c:5456: Test failed: Expected VARCMP_EQ, got 00000002 for VT_BSTR(12True), VT_BSTR()
vartest.c:5471: got 0x0 and VT_BSTR(12False) for VT_INT(12), VT_BOOL(0)
vartest.c:5474: got 0x2 for VT_BSTR(12False), VT_BSTR()
vartest.c:5475: Test failed: Expected VARCMP_EQ, got 00000002 for VT_BSTR(12False), VT_BSTR()
vartest: 1025087 tests executed (0 marked as todo, 2 failures), 1 skipped.

As said. I think the reason for sz12_true being empty is that you are using W-functions in the init() function.

The attached patch fixes 'my' issue on Win95 so it's indeed the use of
W-functions.

--
Cheers,

Paul.

diff --git a/dlls/oleaut32/tests/vartest.c b/dlls/oleaut32/tests/vartest.c
index 24ef171..ef1ecf2 100644
--- a/dlls/oleaut32/tests/vartest.c
+++ b/dlls/oleaut32/tests/vartest.c
@@ -102,19 +102,25 @@ static void init(void)
 {
     BSTR bstr;
     HRESULT res;
+    CHAR localbool[32];
+    CHAR sz12_trueA[32], sz12_falseA[32];
 
     res = VarBstrFromBool(VARIANT_TRUE, LANG_USER_DEFAULT, VAR_LOCALBOOL, 
&bstr);
-    ok(SUCCEEDED(res) && (lstrlenW(bstr) > 0),
+    WideCharToMultiByte(CP_ACP, 0, bstr, -1, localbool, sizeof(localbool), 
NULL, NULL);
+    ok(SUCCEEDED(res) && (lstrlenA(localbool) > 0),
         "Expected localized string for 'True'\n");
-    lstrcpyW(sz12_true, sz12);
-    if (bstr) lstrcatW(sz12_true, bstr);
+    lstrcpyA(sz12_trueA, "12");
+    if (bstr) lstrcatA(sz12_trueA, localbool);
+    MultiByteToWideChar(CP_ACP, 0, sz12_trueA, -1, sz12_true, 
sizeof(sz12_true)/sizeof(WCHAR));
     SysFreeString(bstr);
 
     res = VarBstrFromBool(VARIANT_FALSE, LANG_USER_DEFAULT, VAR_LOCALBOOL, 
&bstr);
-    ok(SUCCEEDED(res) && (lstrlenW(bstr) > 0),
+    WideCharToMultiByte(CP_ACP, 0, bstr, -1, localbool, sizeof(localbool), 
NULL, NULL);
+    ok(SUCCEEDED(res) && (lstrlenA(localbool) > 0),
         "Expected localized string for 'False'\n");
-    lstrcpyW(sz12_false, sz12);
-    if (bstr) lstrcatW(sz12_false, bstr);
+    lstrcpyA(sz12_falseA, "12");
+    if (bstr) lstrcatA(sz12_falseA, localbool);
+    MultiByteToWideChar(CP_ACP, 0, sz12_falseA, -1, sz12_false, 
sizeof(sz12_false)/sizeof(WCHAR));
     SysFreeString(bstr);
 
     hOleaut32 = GetModuleHandle("oleaut32.dll");



Reply via email to