From 8dc5bd8e2979323a3146b986f1657d6447a4e732 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Mon, 14 Aug 2006 14:06:53 +0900 Subject: [PATCH] ole32: Always set pcbWritten when writing a stream. --- dlls/ole32/hglobalstream.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/dlls/ole32/hglobalstream.c b/dlls/ole32/hglobalstream.c index 1ae72471350..eb2af3024fb 100644 --- a/dlls/ole32/hglobalstream.c +++ b/dlls/ole32/hglobalstream.c @@ -287,8 +287,7 @@ static HRESULT WINAPI HGLOBALStreamImpl_Write( ULARGE_INTEGER newSize; ULONG bytesWritten = 0; - TRACE("(%p, %p, %ld, %p)\n", iface, - pv, cb, pcbWritten); + TRACE("(%p, %p, %ld, %p)\n", iface, pv, cb, pcbWritten); /* * If the caller is not interested in the number of bytes written, @@ -298,14 +297,10 @@ static HRESULT WINAPI HGLOBALStreamImpl_Write( pcbWritten = &bytesWritten; if (cb == 0) - { - return S_OK; - } - else - { - newSize.u.HighPart = 0; - newSize.u.LowPart = This->currentPosition.u.LowPart + cb; - } + goto out; + + newSize.u.HighPart = 0; + newSize.u.LowPart = This->currentPosition.u.LowPart + cb; /* * Verify if we need to grow the stream @@ -333,16 +328,17 @@ static HRESULT WINAPI HGLOBALStreamImpl_Write( */ This->currentPosition.u.LowPart+=cb; - /* - * Return the number of bytes read. - */ - *pcbWritten = cb; - /* * Cleanup */ GlobalUnlock(This->supportHandle); +out: + /* + * Return the number of bytes read. + */ + *pcbWritten = cb; + return S_OK; }