Re: [PATCH v7 0/2] MR10895: vbscript: Resolve UBound/LBound default member and match native errors
Jacek Caban (@jacek) commented about dlls/vbscript/global.c:
break; - case VT_EMPTY: - case VT_NULL: - return MAKE_VBSERROR(VBSE_TYPE_MISMATCH); + case VT_DISPATCH: + hres = bound_arg_resolve_dispatch(This->ctx, V_DISPATCH(arg), &default_value); + if(FAILED(hres)) + return hres; + if(V_VT(&default_value) == (VT_VARIANT|VT_ARRAY)) + sa = V_ARRAY(&default_value); + else if(V_VT(&default_value) == (VT_VARIANT|VT_ARRAY|VT_BYREF)) + sa = *V_ARRAYREF(&default_value); + else { + VariantClear(&default_value); + return MAKE_VBSERROR(VBSE_TYPE_MISMATCH); + }
We could resolve `VT_DISPATCH` before the switch statement. This essentially duplicates the logic from other cases. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10895#note_140043
participants (1)
-
Jacek Caban (@jacek)