[PATCH] oleaut32/tests: Extend the variantstr helper for VT_BOOL and VT_BSTR

Detlef Riekenberg wine.dev at web.de
Fri Apr 10 18:05:53 CDT 2009


---
 dlls/oleaut32/tests/vartest.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/dlls/oleaut32/tests/vartest.c b/dlls/oleaut32/tests/vartest.c
index 24ef171..a22466d 100644
--- a/dlls/oleaut32/tests/vartest.c
+++ b/dlls/oleaut32/tests/vartest.c
@@ -257,6 +257,25 @@ static const char *variantstr( const VARIANT *var )
         sprintf( vtstr_buffer[vtstr_current], "VT_CY(%x%08x)", S(V_CY(var)).Hi, S(V_CY(var)).Lo ); break;
     case VT_DATE:
         sprintf( vtstr_buffer[vtstr_current], "VT_DATE(%g)", V_DATE(var) ); break;
+    case VT_BOOL:
+        sprintf( vtstr_buffer[vtstr_current], "VT_BOOL(%d)", V_BOOL(var)); break;
+    case VT_BSTR:
+        if (HIWORD(V_BSTR(var))) {
+            LPSTR data;
+            DWORD len;
+
+            len = WideCharToMultiByte(CP_ACP, 0, V_BSTR(var), -1, NULL, 0, NULL, NULL);
+            data = HeapAlloc(GetProcessHeap(), 0, len);
+            WideCharToMultiByte(CP_ACP, 0, V_BSTR(var), -1, data, len, NULL, NULL);
+            sprintf( vtstr_buffer[vtstr_current], "VT_BSTR(%s)", data);
+            HeapFree(GetProcessHeap(), 0, data);
+        }
+        else
+        {
+            sprintf( vtstr_buffer[vtstr_current], "VT_BSTR(0x%x)", LOWORD(V_BSTR(var)));
+        }
+        break;
+
     default:
         return vtstr(V_VT(var));
     }
-- 
1.5.4.3


--=-8rJnePaPo7UsJnpv3sp9--




More information about the wine-patches mailing list