Jacek Caban : vbscipt: Use VariantCopyInd in exec_script.
Alexandre Julliard
julliard at winehq.org
Mon Mar 10 14:38:29 CDT 2014
Module: wine
Branch: master
Commit: 6ad651bf77a465ef421ffc6febfafa3efc61d4e6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6ad651bf77a465ef421ffc6febfafa3efc61d4e6
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sat Mar 8 14:52:35 2014 +0100
vbscipt: Use VariantCopyInd in exec_script.
---
dlls/vbscript/interp.c | 4 ++--
dlls/vbscript/tests/lang.vbs | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c
index 8f55563..d05c961 100644
--- a/dlls/vbscript/interp.c
+++ b/dlls/vbscript/interp.c
@@ -2029,9 +2029,9 @@ HRESULT exec_script(script_ctx_t *ctx, function_t *func, vbdisp_t *vbthis, DISPP
if(func->args[i].by_ref)
exec.args[i] = *v;
else
- hres = VariantCopy(exec.args+i, V_VARIANTREF(v));
+ hres = VariantCopyInd(exec.args+i, V_VARIANTREF(v));
}else {
- hres = VariantCopy(exec.args+i, v);
+ hres = VariantCopyInd(exec.args+i, v);
}
if(FAILED(hres)) {
release_exec(&exec);
diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs
index 4c444f2..9189163 100644
--- a/dlls/vbscript/tests/lang.vbs
+++ b/dlls/vbscript/tests/lang.vbs
@@ -1067,4 +1067,13 @@ Set obj = new ArrClass
'todo_wine Call ok(getVT(obj.classarr) = "VT_ARRAY|VT_VARIANT", "getVT(obj.classarr) = " & getVT(obj.classarr))
'todo_wine Call ok(obj.classarr(1) = 2, "obj.classarr(1) = " & obj.classarr(1))
+Sub arrarg(byref refarr, byval valarr, byref refarr2, byval valarr2)
+ Call ok(getVT(refarr) = "VT_ARRAY|VT_BYREF|VT_VARIANT*", "getVT(refarr) = " & getVT(refarr))
+ Call ok(getVT(valarr) = "VT_ARRAY|VT_VARIANT*", "getVT(valarr) = " & getVT(valarr))
+ Call ok(getVT(refarr2) = "VT_ARRAY|VT_VARIANT*", "getVT(refarr2) = " & getVT(refarr2))
+ Call ok(getVT(valarr2) = "VT_ARRAY|VT_VARIANT*", "getVT(valarr2) = " & getVT(valarr2))
+End Sub
+
+Call arrarg(arr, arr, obj.classarr, obj.classarr)
+
reportSuccess()
More information about the wine-cvs
mailing list