Module: wine Branch: master Commit: 00057128a3ad636528bb8ed124817eeb5d014dee URL: https://gitlab.winehq.org/wine/wine/-/commit/00057128a3ad636528bb8ed124817ee...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Thu Nov 30 17:23:30 2023 +0100
vbscript: Implement TypeName(Nothing).
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
---
dlls/vbscript/global.c | 2 ++ dlls/vbscript/tests/api.vbs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c index 0baab7e4420..3d36cba6341 100644 --- a/dlls/vbscript/global.c +++ b/dlls/vbscript/global.c @@ -2505,6 +2505,8 @@ static HRESULT Global_TypeName(BuiltinDisp *This, VARIANT *arg, unsigned args_cn case VT_NULL: return return_string(res, L"Null"); case VT_DISPATCH: + if (!V_DISPATCH(arg)) + return return_string(res, L"Nothing"); if (SUCCEEDED(IDispatch_GetTypeInfo(V_DISPATCH(arg), 0, GetUserDefaultLCID(), &typeinfo))) { hres = ITypeInfo_GetDocumentation(typeinfo, MEMBERID_NIL, &name, NULL, NULL, NULL); diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs index 842cce33f83..8d9e0e3e7d1 100644 --- a/dlls/vbscript/tests/api.vbs +++ b/dlls/vbscript/tests/api.vbs @@ -1566,7 +1566,9 @@ MyObject.myval = 0 Call ok(CSng(MyObject) = 0, "CSng(MyObject) = " & CSng(MyObject)) Call ok(getVT(CSng(MyObject)) = "VT_R4", "getVT(CSng(MyObject)) = " & getVT(CSng(MyObject)))
-Call ok(TypeName(Empty) = "Empty", "TypeName(MyEmpty) = " & TypeName(Empty)) +Call ok(TypeName(Nothing) = "Nothing", "TypeName(Nothing) = " & TypeName(Nothing)) +Call ok(getVT(TypeName(Nothing)) = "VT_BSTR", "getVT(TypeName(Nothing)) = " & getVT(TypeName(Nothing))) +Call ok(TypeName(Empty) = "Empty", "TypeName(Empty) = " & TypeName(Empty)) Call ok(getVT(TypeName(Empty)) = "VT_BSTR", "getVT(TypeName(Empty)) = " & getVT(TypeName(Empty))) Call ok(TypeName(Null) = "Null", "TypeName(Null) = " & TypeName(Null)) Call ok(getVT(TypeName(Null)) = "VT_BSTR", "getVT(TypeName(Null)) = " & getVT(TypeName(Null)))