Jacek Caban : jscript: Added isFinite implementation.

Alexandre Julliard julliard at winehq.org
Thu Oct 16 06:07:10 CDT 2008


Module: wine
Branch: master
Commit: b3f23da2d6b4902e42262a5c9fa6cdb0ee9770c4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b3f23da2d6b4902e42262a5c9fa6cdb0ee9770c4

Author: Jacek Caban <jacek at 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)




More information about the wine-cvs mailing list