wbemprox: Return a null variant instead of an empty string if the property isn't set.
diff --git a/dlls/wbemprox/query.c b/dlls/wbemprox/query.c
index 1d2eca7..77a3bf3 100644
--- a/dlls/wbemprox/query.c
+++ b/dlls/wbemprox/query.c
@@ -728,6 +728,9 @@
V_VT( ret ) = VT_UI4;
V_UI4( ret ) = val;
return;
+ case VT_NULL:
+ V_VT( ret ) = VT_NULL;
+ return;
default:
ERR("unhandled variant type %u\n", vartype);
return;
@@ -758,8 +761,13 @@
{
case CIM_STRING:
case CIM_DATETIME:
- vartype = VT_BSTR;
- val_bstr = SysAllocString( (const WCHAR *)(INT_PTR)val );
+ if (val)
+ {
+ vartype = VT_BSTR;
+ val_bstr = SysAllocString( (const WCHAR *)(INT_PTR)val );
+ }
+ else
+ vartype = VT_NULL;
break;
case CIM_SINT16:
if (!vartype) vartype = VT_I2;