From: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com> --- dlls/wintypes/buffer.c | 10 ++++++++-- dlls/wintypes/tests/wintypes.c | 4 ---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/dlls/wintypes/buffer.c b/dlls/wintypes/buffer.c index 2e2e4ceced0..da59d28aa86 100644 --- a/dlls/wintypes/buffer.c +++ b/dlls/wintypes/buffer.c @@ -211,8 +211,14 @@ static HRESULT WINAPI buffer_get_Length( IBuffer *iface, UINT32 *value ) static HRESULT WINAPI buffer_put_Length( IBuffer *iface, UINT32 value ) { - FIXME( "iface %p, value %u stub!\n", iface, value ); - return E_NOTIMPL; + struct buffer *impl = impl_from_IBuffer( iface ); + + TRACE( "iface %p, value %u\n", iface, value ); + + if (value > impl->capacity) return E_INVALIDARG; + + impl->length = value; + return S_OK; } static const struct IBufferVtbl buffer_vtbl = diff --git a/dlls/wintypes/tests/wintypes.c b/dlls/wintypes/tests/wintypes.c index 53ef796d539..1ceab853591 100644 --- a/dlls/wintypes/tests/wintypes.c +++ b/dlls/wintypes/tests/wintypes.c @@ -217,7 +217,6 @@ static void test_IBufferStatics(void) ok(length == 0, "IBuffer_get_Length returned length %u.\n", length); hr = IBuffer_put_Length(buffer, 1); - todo_wine ok(hr == E_INVALIDARG, "IBuffer_put_Length failed, hr %#lx.\n", hr); IBuffer_Release(buffer); @@ -246,7 +245,6 @@ static void test_IBufferStatics(void) ok(length == 0, "IBuffer_get_Length returned length %u.\n", length); hr = IBuffer_put_Length(buffer, 1); - todo_wine ok(hr == S_OK, "IBuffer_put_Length failed, hr %#lx.\n", hr); length = 0xdeadbeef; hr = IBuffer_get_Length(buffer, &length); @@ -256,11 +254,9 @@ static void test_IBufferStatics(void) ok(length == 1, "IBuffer_get_Length returned length %u.\n", length); hr = IBuffer_put_Length(buffer, 0xdeadbeef + 1); - todo_wine ok(hr == E_INVALIDARG, "IBuffer_put_Length failed, hr %#lx.\n", hr); hr = IBuffer_put_Length(buffer, 0xdeadbeef); - todo_wine ok(hr == S_OK, "IBuffer_put_Length failed, hr %#lx.\n", hr); length = 0; hr = IBuffer_get_Length(buffer, &length); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7597