From b3f23da2d6b4902e42262a5c9fa6cdb0ee9770c4 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 15 Oct 2008 18:50:06 -0500 Subject: [PATCH] jscript: Added isFinite implementation. --- dlls/jscript/global.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/dlls/jscript/global.c b/dlls/jscript/global.c index e397c3de585..39055fa1299 100644 --- a/dlls/jscript/global.c +++ b/dlls/jscript/global.c @@ -295,8 +295,27 @@ static HRESULT JSGlobal_isNaN(DispatchEx *dispex, LCID lcid, WORD flags, DISPPAR static HRESULT JSGlobal_isFinite(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp) { - FIXME("\n"); - return E_NOTIMPL; + VARIANT_BOOL ret = VARIANT_FALSE; + HRESULT hres; + + TRACE("\n"); + + if(arg_cnt(dp)) { + VARIANT num; + + hres = to_number(dispex->ctx, get_arg(dp,0), ei, &num); + if(FAILED(hres)) + return hres; + + if(V_VT(&num) != VT_R8 || (!isinf(V_R8(&num)) && !isnan(V_R8(&num)))) + ret = VARIANT_TRUE; + } + + if(retv) { + V_VT(retv) = VT_BOOL; + V_BOOL(retv) = ret; + } + return S_OK; } static INT char_to_int(WCHAR c)