[2/3] wininet: Start the first chunk as soon as we have some data.

Hans Leidekker hans at codeweavers.com
Tue Jul 19 04:27:36 CDT 2016


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 dlls/wininet/http.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 2c62d97..c4cf66b 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -2921,6 +2921,7 @@ static DWORD set_content_length(http_request_t *request)
         !strcmpiW(encoding, szChunked))
     {
         chunked_stream_t *chunked_stream;
+        DWORD res;
 
         chunked_stream = heap_alloc(sizeof(*chunked_stream));
         if(!chunked_stream)
@@ -2935,6 +2936,12 @@ static DWORD set_content_length(http_request_t *request)
             memcpy(chunked_stream->buf, request->read_buf+request->read_pos, request->read_size);
             chunked_stream->buf_size = request->read_size;
             request->read_size = request->read_pos = 0;
+
+            res = start_next_chunk(chunked_stream, request);
+            if (res != ERROR_SUCCESS) {
+                heap_free(chunked_stream);
+                return res;
+            }
         }
 
         request->data_stream = &chunked_stream->data_stream;
-- 
2.8.1




More information about the wine-patches mailing list