[PATCH] vbscript: typename(Array()) is "Variant()".
Robert Wilhelm
robert.wilhelm at gmx.net
Sat Aug 22 14:11:15 CDT 2020
Signed-off-by: Robert Wilhelm <robert.wilhelm at gmx.net>
---
dlls/vbscript/global.c | 4 ++++
dlls/vbscript/tests/api.vbs | 2 ++
2 files changed, 6 insertions(+)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index d4b9344206..59265fd23d 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -2202,11 +2202,15 @@ static HRESULT Global_TypeName(BuiltinDisp *This, VARIANT *arg, unsigned args_cn
static const WCHAR BooleanW[] = {'B', 'o', 'o', 'l', 'e', 'a', 'n', 0};
static const WCHAR EmptyW[] = {'E', 'm', 'p', 't', 'y', 0};
static const WCHAR NullW[] = {'N', 'u', 'l', 'l', 0};
+ static const WCHAR ArrayW[] = {'V', 'a', 'r', 'i', 'a', 'n', 't', '(', ')', 0};
TRACE("(%s)\n", debugstr_variant(arg));
assert(args_cnt == 1);
+ if (V_ISARRAY(arg))
+ return return_string(res, ArrayW);
+
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)))
--
2.26.2
More information about the wine-devel
mailing list