[5/5] oledb32: GetConversionSize only returns a valid size of BSTR

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Fri May 24 03:04:50 CDT 2013


Hi,
Changed to not use a magic number.

Changelog:
      oledb32: GetConversionSize only returns a valid size of BSTR


Best Regards
   Alistair Leslie-Hughes

-------------- next part --------------
>From 055701c48b7a009a7000f6e9e5376bfdf7d681ea Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Fri, 24 May 2013 15:12:24 +1000
Subject: [PATCH] GetConversionSize only returns a valid size of BSTR
To: wine-patches <wine-patches at winehq.org>

---
 dlls/oledb32/convert.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/dlls/oledb32/convert.c b/dlls/oledb32/convert.c
index fd98b31..7e75356 100644
--- a/dlls/oledb32/convert.c
+++ b/dlls/oledb32/convert.c
@@ -1349,16 +1349,12 @@ static HRESULT WINAPI convert_GetConversionSize(IDataConvert* iface,
         {
         case DBTYPE_VARIANT:
         {
-            VARIANT v;
-
-            VariantInit(&v);
-            if ((hr = VariantChangeType(&v, (VARIANT*)src, 0, VT_BSTR)) == S_OK)
-            {
-                *dst_len = (SysStringLen(V_BSTR(&v)) + 1) * sizeof(WCHAR);
-                VariantClear(&v);
-            }
+            if(V_VT((VARIANT*)src) == VT_BSTR)
+                *dst_len = (SysStringLen(V_BSTR((VARIANT*)src))+1) * sizeof(WCHAR);
             else
-                return hr;
+                WARN("DBTYPE_BYTES->DBTYPE_VARIANT(%d) unimplemented\n", V_VT((VARIANT*)src));
+
+            return S_OK;
         }
         break;
         case DBTYPE_STR:
-- 
1.8.1.2




More information about the wine-patches mailing list