vbscript: Return type mismatch for UBound(Empty) and UBound(NULL).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54291
This commit is contained in:
Robert Wilhelm 2023-01-27 11:29:26 +01:00 committed by Alexandre Julliard
parent d1d186eef2
commit f23a50d1db
2 changed files with 9 additions and 0 deletions

View file

@ -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;

View file

@ -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", _