Jacek Caban : urlmon: Better pending read handling.

Alexandre Julliard julliard at wine.codeweavers.com
Thu May 25 14:18:36 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 27b5c54f56aa0c96be8a130ad97f2a871e41c32e
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=27b5c54f56aa0c96be8a130ad97f2a871e41c32e

Author: Jacek Caban <jacek at 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;
 }
 




More information about the wine-cvs mailing list