Dmitry Timoshkov : propsys: Add support for VT_LPWSTR and VT_BSTR to PropVariantToStringAlloc.
Module: wine Branch: master Commit: 97c512082c0eccb1606061c4f5435d2065a74bc9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=97c512082c0eccb1606061c4f5... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Tue Jun 20 12:36:47 2017 +0800 propsys: Add support for VT_LPWSTR and VT_BSTR to PropVariantToStringAlloc. Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/propsys/propvar.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dlls/propsys/propvar.c b/dlls/propsys/propvar.c index 007fd94..af486d6 100644 --- a/dlls/propsys/propvar.c +++ b/dlls/propsys/propvar.c @@ -224,6 +224,7 @@ HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret) res = CoTaskMemAlloc(1*sizeof(WCHAR)); res[0] = '\0'; break; + case VT_LPSTR: if(propvarIn->u.pszVal) { @@ -237,6 +238,18 @@ HRESULT WINAPI PropVariantToStringAlloc(REFPROPVARIANT propvarIn, WCHAR **ret) MultiByteToWideChar(CP_ACP, 0, propvarIn->u.pszVal, -1, res, len); } break; + + case VT_LPWSTR: + case VT_BSTR: + if (propvarIn->u.pwszVal) + { + DWORD size = (lstrlenW(propvarIn->u.pwszVal) + 1) * sizeof(WCHAR); + res = CoTaskMemAlloc(size); + if(!res) return E_OUTOFMEMORY; + memcpy(res, propvarIn->u.pwszVal, size); + } + break; + default: FIXME("Unsupported conversion (%d)\n", propvarIn->vt); hr = E_FAIL;
participants (1)
-
Alexandre Julliard