[PATCH v2 1/2] propsys: Implement VariantToStringWithDefault.
Mohamad Al-Jaf
mohamadaljaf at gmail.com
Sun Mar 27 20:23:39 CDT 2022
Would this be better? It avoids repetitive if and return statements.
PCWSTR WINAPI VariantToStringWithDefault(const VARIANT *pvar, LPCWSTR
pszDefault)
{
PCWSTR ret = pszDefault;
TRACE("(%p, %s)\n", pvar, debugstr_w(pszDefault));
switch(V_VT(pvar))
{
case VT_BSTR:
ret = V_BSTR(pvar);
break;
case VT_BYREF | VT_BSTR:
ret = *V_BSTRREF(pvar);
break;
case VT_BYREF | VT_VARIANT:
{
if (V_VT(V_VARIANTREF(pvar)) == VT_BSTR)
{
ret = V_BSTR(V_VARIANTREF(pvar);
break;
}
if (V_VT(V_VARIANTREF(pvar)) == (VT_BYREF | VT_BSTR))
{
ret = *V_BSTRREF(V_VARIANTREF(pvar));
break;
}
}
}
if (ret == NULL)
return L"";
return ret;
}
--
Kind regards,
Mohamad
More information about the wine-devel
mailing list