ole: Fix mis-handling of return value in StgStreamImpl_Read.

BlockChainStream_ReadAt returns a BOOL, not an HRESULT so change
StgStreamImpl_Read to handle this, by returning STG_E_READFAULT on
failure.
This commit is contained in:
Robert Shearman 2006-01-03 12:07:34 +01:00 committed by Alexandre Julliard
parent 03060551d6
commit 8f604e925d

View file

@ -249,7 +249,7 @@ static HRESULT WINAPI StgStreamImpl_Read(
ULONG bytesReadBuffer;
ULONG bytesToReadFromBuffer;
HRESULT res = S_FALSE;
HRESULT res;
TRACE("(%p, %p, %ld, %p)\n",
iface, pv, cb, pcbRead);
@ -282,11 +282,15 @@ static HRESULT WINAPI StgStreamImpl_Read(
}
else if (This->bigBlockChain!=0)
{
res = BlockChainStream_ReadAt(This->bigBlockChain,
This->currentPosition,
bytesToReadFromBuffer,
pv,
pcbRead);
BOOL success = BlockChainStream_ReadAt(This->bigBlockChain,
This->currentPosition,
bytesToReadFromBuffer,
pv,
pcbRead);
if (success)
res = S_OK;
else
res = STG_E_READFAULT;
}
else
{