[PATCH v2 0/1] MR10850: msado15: Correctly increase the cnt value
-- v2: msado15: Correctly increase the cnt value https://gitlab.winehq.org/wine/wine/-/merge_requests/10850
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> --- dlls/msado15/command.c | 15 +++++++++++---- dlls/msado15/tests/msado15.c | 5 +++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dlls/msado15/command.c b/dlls/msado15/command.c index 0aecf2a7c54..c980516a2a0 100644 --- a/dlls/msado15/command.c +++ b/dlls/msado15/command.c @@ -212,12 +212,18 @@ static HRESULT WINAPI parameters_Append(Parameters *iface, IDispatch *object) static HRESULT WINAPI parameters_Delete(Parameters *iface, VARIANT index) { struct command *command = impl_from_Parameters( iface ); - struct param_item *para, *para2; + struct param_item *para; int cnt = 0; TRACE( "%p, %s\n", iface, debugstr_variant(&index)); - LIST_FOR_EACH_ENTRY_SAFE(para, para2, &command->parameters, struct param_item, entry) + if (V_VT(&index) != VT_I4) + { + FIXME("Unsupported index type %d\n", V_VT(&index)); + return E_NOTIMPL; + } + + LIST_FOR_EACH_ENTRY(para, &command->parameters, struct param_item, entry) { if(cnt == V_I4(&index)) { @@ -225,11 +231,12 @@ static HRESULT WINAPI parameters_Delete(Parameters *iface, VARIANT index) if (para->param) IDispatch_Release(para->param); free(para); - break; + return S_OK; } + cnt++; } - return S_OK; + return MAKE_ADO_HRESULT(adErrItemNotFound); } static HRESULT WINAPI parameters_get_Item(Parameters *iface, VARIANT index, _Parameter **object) diff --git a/dlls/msado15/tests/msado15.c b/dlls/msado15/tests/msado15.c index a0cca8a9068..202be584f78 100644 --- a/dlls/msado15/tests/msado15.c +++ b/dlls/msado15/tests/msado15.c @@ -3217,6 +3217,11 @@ static void test_Command(void) hr = Parameters_Append(parameters, disp); ok( hr == S_OK, "got %08lx\n", hr ); + V_VT(&value) = VT_I4; + V_I4(&value) = 10; + hr = Parameters_Delete(parameters, value); + ok( hr == MAKE_ADO_HRESULT(adErrItemNotFound), "got %08lx\n", hr ); + IDispatch_Release(disp); _Parameter_Release(parameter); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10850
participants (2)
-
Alistair Leslie-Hughes -
Alistair Leslie-Hughes (@alesliehughes)