Module: wine Branch: master Commit: f23a50d1db59aafce76fba64a7980417feb74679 URL: https://gitlab.winehq.org/wine/wine/-/commit/f23a50d1db59aafce76fba64a798041...
Author: Robert Wilhelm robert.wilhelm@gmx.net Date: Fri Jan 27 11:29:26 2023 +0100
vbscript: Return type mismatch for UBound(Empty) and UBound(NULL).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54291
---
dlls/vbscript/global.c | 3 +++ dlls/vbscript/tests/api.vbs | 6 ++++++ 2 files changed, 9 insertions(+)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c index 9eac80218fd..470db2c1980 100644 --- a/dlls/vbscript/global.c +++ b/dlls/vbscript/global.c @@ -1222,6 +1222,9 @@ static HRESULT Global_UBound(BuiltinDisp *This, VARIANT *arg, unsigned args_cnt, case VT_VARIANT|VT_ARRAY|VT_BYREF: sa = *V_ARRAYREF(arg); break; + case VT_EMPTY: + case VT_NULL: + return MAKE_VBSERROR(VBSE_TYPE_MISMATCH); default: FIXME("arg %s not supported\n", debugstr_variant(arg)); return E_NOTIMPL; diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs index 903593ebd60..a60fa046b69 100644 --- a/dlls/vbscript/tests/api.vbs +++ b/dlls/vbscript/tests/api.vbs @@ -298,6 +298,12 @@ sub testUBoundError() call UBound() call ok(Err.number = 450, "Err.number = " & Err.number) call Err.clear() + call UBound(Empty) + call ok(Err.number = 13, "Err.number = " & Err.number) + call Err.clear() + call UBound(Null) + call ok(Err.number = 13, "Err.number = " & Err.number) + call Err.clear() call UBound(arr, 1, 2) call ok(Err.number = 450, "Err.number = " & Err.number) if isEnglishLang then call ok(Err.description = "Wrong number of arguments or invalid property assignment", _