Jacek Caban : jscript: Support VT_UI1 and VT_I1 types.

Alexandre Julliard julliard at winehq.org
Thu Aug 8 19:27:20 CDT 2019


Module: wine
Branch: master
Commit: 58dd9c2b9968164a4f6b6fb618cd513d2b9bb5c3
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=58dd9c2b9968164a4f6b6fb618cd513d2b9bb5c3

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Aug  8 15:25:56 2019 +0200

jscript: Support VT_UI1 and VT_I1 types.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/jscript/jsutils.c   |  6 ++++++
 dlls/jscript/tests/run.c | 14 +++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/dlls/jscript/jsutils.c b/dlls/jscript/jsutils.c
index ee949ff..79971f7 100644
--- a/dlls/jscript/jsutils.c
+++ b/dlls/jscript/jsutils.c
@@ -292,6 +292,12 @@ HRESULT variant_to_jsval(VARIANT *var, jsval_t *r)
         *r = jsval_disp(V_DISPATCH(var));
         return S_OK;
     }
+    case VT_I1:
+        *r = jsval_number(V_I1(var));
+        return S_OK;
+    case VT_UI1:
+        *r = jsval_number(V_UI1(var));
+        return S_OK;
     case VT_I2:
         *r = jsval_number(V_I2(var));
         return S_OK;
diff --git a/dlls/jscript/tests/run.c b/dlls/jscript/tests/run.c
index e48f748..a7eaf08 100644
--- a/dlls/jscript/tests/run.c
+++ b/dlls/jscript/tests/run.c
@@ -1448,7 +1448,7 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
         return S_OK;
 
     case DISPID_GLOBAL_TESTARGTYPES: {
-        VARIANT args[8], v;
+        VARIANT args[10], v;
         DISPPARAMS dp = {args, NULL, ARRAY_SIZE(args), 0};
         HRESULT hres;
 
@@ -1491,7 +1491,11 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
         V_VT(args+6) = VT_R4;
         V_R4(args+6) = 0.5;
         V_VT(args+7) = VT_UI2;
-        V_R4(args+7) = 3;
+        V_UI2(args+7) = 3;
+        V_VT(args+8) = VT_UI1;
+        V_UI1(args+8) = 4;
+        V_VT(args+9) = VT_I1;
+        V_I1(args+9) = 5;
         V_VT(&v) = VT_I4;
         V_I4(&v) = 2;
         hres = IDispatch_Invoke(V_DISPATCH(pdp->rgvarg), DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dp, NULL, NULL, NULL);
@@ -2924,7 +2928,7 @@ static BOOL run_tests(void)
 
     SET_EXPECT(global_testargtypes_i);
     parse_script_a("testArgTypes(dispUnk, intProp(), intProp, getShort(), shortProp,"
-                   "function(ui2,r4,i4ref,ui4,nullunk,d,i,s) {"
+                   "function(i1,ui1,ui2,r4,i4ref,ui4,nullunk,d,i,s) {"
                    "    ok(getVT(i) === 'VT_I4', 'getVT(i) = ' + getVT(i));"
                    "    ok(getVT(s) === 'VT_I4', 'getVT(s) = ' + getVT(s));"
                    "    ok(getVT(d) === 'VT_DISPATCH', 'getVT(d) = ' + getVT(d));"
@@ -2937,6 +2941,10 @@ static BOOL run_tests(void)
                    "    ok(r4 === 0.5, 'r4 = ' + r4);"
                    "    ok(getVT(r4) === 'VT_R8', 'getVT(r4) = ' + getVT(r4));"
                    "    ok(getVT(ui2) === 'VT_I4', 'getVT(ui2) = ' + getVT(ui2));"
+                   "    ok(getVT(ui1) === 'VT_I4', 'getVT(ui1) = ' + getVT(ui1));"
+                   "    ok(ui1 === 4, 'ui1 = ' + ui1);"
+                   "    ok(getVT(i1) === 'VT_I4', 'getVT(i1) = ' + getVT(i1));"
+                   "    ok(i1 === 5, 'i1 = ' + i1);"
                    "});");
     CHECK_CALLED(global_testargtypes_i);
 




More information about the wine-cvs mailing list