Dmitry Timoshkov : propsys: Make VT_FILETIME handling by PropVariantChangeType more implicit.
Alexandre Julliard
julliard at winehq.org
Tue Jun 20 15:34:55 CDT 2017
Module: wine
Branch: master
Commit: 3a7fb7575175f09eb961822fa86d1f78c5bf9d51
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a7fb7575175f09eb961822fa86d1f78c5bf9d51
Author: Dmitry Timoshkov <dmitry at 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 at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at 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)
More information about the wine-cvs
mailing list