Robert Wilhelm : vbscript: Support arrays in TypeName.
Alexandre Julliard
julliard at winehq.org
Mon Aug 24 15:58:51 CDT 2020
Module: wine
Branch: master
Commit: 769dd6aed480a764154d8001d2a93396835d14ab
URL: https://source.winehq.org/git/wine.git/?a=commit;h=769dd6aed480a764154d8001d2a93396835d14ab
Author: Robert Wilhelm <robert.wilhelm at gmx.net>
Date: Mon Aug 24 11:57:40 2020 +0200
vbscript: Support arrays in TypeName.
Signed-off-by: Robert Wilhelm <robert.wilhelm at gmx.net>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/vbscript/global.c | 3 +++
dlls/vbscript/tests/api.vbs | 2 ++
2 files changed, 5 insertions(+)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index d2fadb3422..cdfbdf2215 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -2203,6 +2203,9 @@ static HRESULT Global_TypeName(BuiltinDisp *This, VARIANT *arg, unsigned args_cn
assert(args_cnt == 1);
+ if (V_ISARRAY(arg))
+ return return_string(res, L"Variant()");
+
switch(V_VT(arg)) {
case VT_UI1:
return return_string(res, ByteW);
diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs
index 6add0579e8..4834029183 100644
--- a/dlls/vbscript/tests/api.vbs
+++ b/dlls/vbscript/tests/api.vbs
@@ -1380,6 +1380,8 @@ Call ok(TypeName(CStr(0.5)) = "String", "TypeName(CStr(0.5)) = " & TypeName(CStr
Call ok(getVT(TypeName(CStr(0.5))) = "VT_BSTR", "getVT(TypeName(CStr(0.5))) = " & getVT(TypeName(CStr(0.5))))
Call ok(TypeName(True) = "Boolean", "TypeName(True) = " & TypeName(True))
Call ok(getVT(TypeName(True)) = "VT_BSTR", "getVT(TypeName(True)) = " & getVT(TypeName(True)))
+Call ok(TypeName(arr) = "Variant()", "TypeName(arr) = " & TypeName(arr))
+Call ok(getVT(TypeName(arr)) = "VT_BSTR", "getVT(TypeName(arr)) = " & getVT(TypeName(arr)))
Call ok(VarType(Empty) = vbEmpty, "VarType(Empty) = " & VarType(Empty))
Call ok(getVT(VarType(Empty)) = "VT_I2", "getVT(VarType(Empty)) = " & getVT(VarType(Empty)))
More information about the wine-cvs
mailing list