wininet: Don't start the next chunk if the read is satisfied.
Hans Leidekker
hans at codeweavers.com
Wed Sep 4 02:22:12 CDT 2013
---
dlls/wininet/http.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 1832b4f..521e4aa 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -2795,7 +2795,7 @@ static DWORD chunked_read(data_stream_t *stream, http_request_t *req, BYTE *buf,
chunked_stream_t *chunked_stream = (chunked_stream_t*)stream;
DWORD read_bytes = 0, ret_read = 0, res = ERROR_SUCCESS;
- if(chunked_stream->chunk_size == ~0u) {
+ if(!chunked_stream->chunk_size || chunked_stream->chunk_size == ~0u) {
res = start_next_chunk(chunked_stream, req);
if(res != ERROR_SUCCESS)
return res;
@@ -2835,7 +2835,7 @@ static DWORD chunked_read(data_stream_t *stream, http_request_t *req, BYTE *buf,
chunked_stream->chunk_size -= read_bytes;
size -= read_bytes;
ret_read += read_bytes;
- if(!chunked_stream->chunk_size) {
+ if(size && !chunked_stream->chunk_size) {
assert(read_mode != READMODE_NOBLOCK);
res = start_next_chunk(chunked_stream, req);
if(res != ERROR_SUCCESS)
--
1.8.4.rc3
More information about the wine-patches
mailing list