Dmitry Timoshkov : propsys: Make VT_FILETIME handling by PropVariantChangeType more implicit.
Module: wine Branch: master Commit: 3a7fb7575175f09eb961822fa86d1f78c5bf9d51 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a7fb7575175f09eb961822fa8... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Tue Jun 20 12:36:56 2017 +0800 propsys: Make VT_FILETIME handling by PropVariantChangeType more implicit. Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/propsys/propvar.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/dlls/propsys/propvar.c b/dlls/propsys/propvar.c index 1d762d0..fc6cf58 100644 --- a/dlls/propsys/propvar.c +++ b/dlls/propsys/propvar.c @@ -36,12 +36,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(propsys); -static HRESULT PROPVAR_ConvertFILETIME(PROPVARIANT *ppropvarDest, - REFPROPVARIANT propvarSrc, VARTYPE vt) +static HRESULT PROPVAR_ConvertFILETIME(const FILETIME *ft, PROPVARIANT *ppropvarDest, VARTYPE vt) { SYSTEMTIME time; - FileTimeToSystemTime(&propvarSrc->u.filetime, &time); + FileTimeToSystemTime(ft, &time); switch (vt) { @@ -272,9 +271,12 @@ HRESULT WINAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT p FIXME("(%p, %p, %d, %d, %d): semi-stub!\n", ppropvarDest, propvarSrc, propvarSrc->vt, flags, vt); - if(vt == propvarSrc->vt) + if (vt == propvarSrc->vt) return PropVariantCopy(ppropvarDest, propvarSrc); + if (propvarSrc->vt == VT_FILETIME) + return PROPVAR_ConvertFILETIME(&propvarSrc->u.filetime, ppropvarDest, vt); + switch (vt) { case VT_I1: @@ -382,17 +384,11 @@ HRESULT WINAPI PropVariantChangeType(PROPVARIANT *ppropvarDest, REFPROPVARIANT p } return hr; } - } - switch (propvarSrc->vt) - { - case VT_FILETIME: - return PROPVAR_ConvertFILETIME(ppropvarDest, propvarSrc, vt); - default: - FIXME("Unhandled source type: %d\n", propvarSrc->vt); + default: + FIXME("Unhandled dest type: %d\n", vt); + return E_FAIL; } - - return E_FAIL; } static void PROPVAR_GUIDToWSTR(REFGUID guid, WCHAR *str)
participants (1)
-
Alexandre Julliard