Robert Shearman : oleaut: Fix VarFormat for VT_NULL variants.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Mar 6 04:50:50 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 93acfeb7f0d4c332c62765888f323524c0eb87db
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=93acfeb7f0d4c332c62765888f323524c0eb87db

Author: Robert Shearman <rob at codeweavers.com>
Date:   Sun Mar  5 13:36:56 2006 +0000

oleaut: Fix VarFormat for VT_NULL variants.

---

 dlls/oleaut32/tests/vartest.c |    2 --
 dlls/oleaut32/varformat.c     |    3 +++
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/oleaut32/tests/vartest.c b/dlls/oleaut32/tests/vartest.c
index 2da6371..2d60b86 100644
--- a/dlls/oleaut32/tests/vartest.c
+++ b/dlls/oleaut32/tests/vartest.c
@@ -1785,10 +1785,8 @@ static void test_VarFormat(void)
   /* VT_NULL */
   V_VT(&in) = VT_NULL;
   hres = pVarFormat(&in,NULL,fd,fw,0,&out);
-  todo_wine {
   ok(hres == S_OK, "VarFormat failed with 0x%08lx\n", hres);
   ok(out == NULL, "expected NULL formatted string\n");
-  }
 
   /* Invalid args */
   hres = pVarFormat(&in,NULL,fd,fw,flags,NULL);
diff --git a/dlls/oleaut32/varformat.c b/dlls/oleaut32/varformat.c
index 29bf3a7..f0d3b09 100644
--- a/dlls/oleaut32/varformat.c
+++ b/dlls/oleaut32/varformat.c
@@ -2007,6 +2007,9 @@ HRESULT WINAPI VarFormatFromTokens(LPVAR
   if (!pVarIn || !rgbTok)
     return E_INVALIDARG;
 
+  if (V_VT(pVarIn) == VT_NULL)
+    return S_OK;
+
   if (*rgbTok == FMT_TO_STRING || header->type == FMT_TYPE_GENERAL)
   {
     /* According to MSDN, general format acts somewhat like the 'Str'




More information about the wine-cvs mailing list