Ričardas Barkauskas : wininet: Move handling of existing request connections to open_http_connection.
Module: wine Branch: master Commit: 12e6c14e7c2db8185d770b1ba7c07b2dadb4ce7d URL: http://source.winehq.org/git/wine.git/?a=commit;h=12e6c14e7c2db8185d770b1ba7... Author: Ričardas Barkauskas <rbarkauskas(a)codeweavers.com> Date: Tue Nov 26 01:12:49 2013 +0200 wininet: Move handling of existing request connections to open_http_connection. --- dlls/wininet/http.c | 32 ++++++++++++++++---------------- 1 files changed, 16 insertions(+), 16 deletions(-) diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index bca1101..09a43f8 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -4786,9 +4786,22 @@ static DWORD open_http_connection(http_request_t *request, BOOL *reusing) netconn_t *netconn = NULL; DWORD res; - assert(!request->netconn); reset_data_stream(request); + if (request->netconn) + { + if (NETCON_is_alive(request->netconn)) + { + *reusing = TRUE; + return ERROR_SUCCESS; + } + else + { + free_netconn(request->netconn); + request->netconn = NULL; + } + } + res = HTTP_ResolveName(request); if(res != ERROR_SUCCESS) return res; @@ -4936,20 +4949,6 @@ static DWORD HTTP_HttpSendRequestW(http_request_t *request, LPCWSTR lpszHeaders, loop_next = FALSE; - if (request->netconn) - { - if (!NETCON_is_alive(request->netconn)) - { - free_netconn(request->netconn); - request->netconn = NULL; - } - else - { - reset_data_stream(request); - } - } - reusing_connection = request->netconn != NULL; - if(redirected) { request->contentLength = ~0u; request->bytesToWrite = 0; @@ -4984,7 +4983,8 @@ static DWORD HTTP_HttpSendRequestW(http_request_t *request, LPCWSTR lpszHeaders, TRACE("Request header -> %s\n", debugstr_w(requestString) ); - if (!reusing_connection && (res = open_http_connection(request, &reusing_connection)) != ERROR_SUCCESS) + res = open_http_connection(request, &reusing_connection); + if (res != ERROR_SUCCESS) break; /* send the request as ASCII, tack on the optional data */
participants (1)
-
Alexandre Julliard