Module: wine Branch: refs/heads/master Commit: 27b5c54f56aa0c96be8a130ad97f2a871e41c32e URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=27b5c54f56aa0c96be8a130a...
Author: Jacek Caban jacek@codeweavers.com Date: Thu May 25 18:40:47 2006 +0200
urlmon: Better pending read handling.
---
dlls/urlmon/binding.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c index 859057f..44d3e39 100644 --- a/dlls/urlmon/binding.c +++ b/dlls/urlmon/binding.c @@ -333,6 +333,7 @@ static HRESULT WINAPI ProtocolStream_Rea { ProtocolStream *This = STREAM_THIS(iface); DWORD read = 0, pread = 0; + HRESULT hres;
TRACE("(%p)->(%p %ld %p)\n", This, pv, cb, pcbRead);
@@ -354,9 +355,14 @@ static HRESULT WINAPI ProtocolStream_Rea return S_OK; }
- IInternetProtocol_Read(This->protocol, (PBYTE)pv+read, cb-read, &pread); + hres = IInternetProtocol_Read(This->protocol, (PBYTE)pv+read, cb-read, &pread); *pcbRead = read + pread;
+ if(hres == E_PENDING) + return E_PENDING; + else if(FAILED(hres)) + FIXME("Read failed: %08lx\n", hres); + return read || pread ? S_OK : S_FALSE; }