Module: wine Branch: master Commit: b3f23da2d6b4902e42262a5c9fa6cdb0ee9770c4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b3f23da2d6b4902e42262a5c9f...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Oct 15 18:50:06 2008 -0500
jscript: Added isFinite implementation.
---
dlls/jscript/global.c | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/global.c b/dlls/jscript/global.c index e397c3d..39055fa 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)