winhttp: Factor out query_data_ready() function.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Paul Gofman 2021-08-25 12:57:52 +03:00 committed by Alexandre Julliard
parent 2d9e89a80f
commit bc5305e599
1 changed files with 12 additions and 5 deletions

View File

@ -2815,19 +2815,26 @@ BOOL WINAPI WinHttpReceiveResponse( HINTERNET hrequest, LPVOID reserved )
return !ret;
}
static DWORD query_data_ready( struct request *request )
{
DWORD count;
count = get_available_data( request );
if (!request->read_chunked && request->netconn) count += netconn_query_data_available( request->netconn );
return count;
}
static DWORD query_data_available( struct request *request, DWORD *available, BOOL async )
{
DWORD ret = ERROR_SUCCESS, count = 0;
if (end_of_read_data( request )) goto done;
count = get_available_data( request );
if (!request->read_chunked && request->netconn) count += netconn_query_data_available( request->netconn );
if (!count)
if (!(count = query_data_ready( request )))
{
if ((ret = refill_buffer( request, async ))) goto done;
count = get_available_data( request );
if (!request->read_chunked && request->netconn) count += netconn_query_data_available( request->netconn );
count = query_data_ready( request );
}
done: