Module: wine Branch: master Commit: 90b936f0b2ddd8c5b98cc5072b2c1cd7310ef378 URL: http://source.winehq.org/git/wine.git/?a=commit;h=90b936f0b2ddd8c5b98cc5072b...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Aug 17 19:09:21 2017 +0200
wininet: Try to read reamaining data in chunked_drain_content.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wininet/http.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index f1d64f5..eae2d4d 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -2823,6 +2823,15 @@ static DWORD chunked_read(data_stream_t *stream, http_request_t *req, BYTE *buf, static DWORD chunked_drain_content(data_stream_t *stream, http_request_t *req) { chunked_stream_t *chunked_stream = (chunked_stream_t*)stream; + BYTE buf[1024]; + DWORD size, res; + + while(chunked_stream->state != CHUNKED_STREAM_STATE_END_OF_STREAM) { + res = chunked_read(stream, req, buf, sizeof(buf), &size, FALSE); + if(res != ERROR_SUCCESS) + return res; + } + if(chunked_stream->state != CHUNKED_STREAM_STATE_END_OF_STREAM) return ERROR_NO_DATA; return ERROR_SUCCESS;