From: Francis De Brabandere <francisdb@gmail.com> Co-authored-by: Jacek Caban <jacek@codeweavers.com> --- dlls/vbscript/global.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c index 114142c7c01..96858143856 100644 --- a/dlls/vbscript/global.c +++ b/dlls/vbscript/global.c @@ -2951,14 +2951,13 @@ static HRESULT Global_DateDiff(BuiltinDisp *This, VARIANT *args, unsigned args_c double units = !wcsicmp(interval, L"h") ? 24.0 : !wcsicmp(interval, L"n") ? 1440.0 : 86400.0; double t1 = trunc(date1) * units + fabs(date1 - trunc(date1)) * units; double t2 = trunc(date2) * units + fabs(date2 - trunc(date2)) * units; - result = units == 86400.0 ? (LONG)floor(t2 - t1 + 0.5) - : (LONG)floor(t2) - (LONG)floor(t1); + result = (LONG)(units == 86400.0 ? floor(t2 - t1 + 0.5) + : floor(t2) - floor(t1)); } else { WARN("Unrecognized interval %s.\n", debugstr_w(interval)); - SysFreeString(interval); - return MAKE_VBSERROR(VBSE_ILLEGAL_FUNC_CALL); + hres = MAKE_VBSERROR(VBSE_ILLEGAL_FUNC_CALL); } SysFreeString(interval); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10459