Jacek Caban : wininet: Don't use INTERNET_SetLastError in HttpSendRequestW.

Alexandre Julliard julliard at winehq.org
Mon Nov 30 10:42:46 CST 2009


Module: wine
Branch: master
Commit: 4e3eabd6fa261976296e74d3cb0c3c09e87842e7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4e3eabd6fa261976296e74d3cb0c3c09e87842e7

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Nov 30 00:14:41 2009 +0100

wininet: Don't use INTERNET_SetLastError in HttpSendRequestW.

---

 dlls/wininet/http.c |   23 ++++++++++++-----------
 1 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index a250cbf..e4b6f1c 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -3405,7 +3405,7 @@ BOOL WINAPI HttpSendRequestW(HINTERNET hHttpRequest, LPCWSTR lpszHeaders,
     http_request_t *lpwhr;
     http_session_t *lpwhs = NULL;
     appinfo_t *hIC = NULL;
-    BOOL r;
+    DWORD res = ERROR_SUCCESS;
 
     TRACE("%p, %s, %i, %p, %i)\n", hHttpRequest,
             debugstr_wn(lpszHeaders, dwHeaderLength), dwHeaderLength, lpOptional, dwOptionalLength);
@@ -3413,24 +3413,21 @@ BOOL WINAPI HttpSendRequestW(HINTERNET hHttpRequest, LPCWSTR lpszHeaders,
     lpwhr = (http_request_t*) WININET_GetObject( hHttpRequest );
     if (NULL == lpwhr || lpwhr->hdr.htype != WH_HHTTPREQ)
     {
-        INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
-	r = FALSE;
+        res = ERROR_INTERNET_INCORRECT_HANDLE_TYPE;
         goto lend;
     }
 
     lpwhs = lpwhr->lpHttpSession;
     if (NULL == lpwhs ||  lpwhs->hdr.htype != WH_HHTTPSESSION)
     {
-        INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
-	r = FALSE;
+        res = ERROR_INTERNET_INCORRECT_HANDLE_TYPE;
         goto lend;
     }
 
     hIC = lpwhs->lpAppInfo;
     if (NULL == hIC ||  hIC->hdr.htype != WH_HINIT)
     {
-        INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE);
-	r = FALSE;
+        res = ERROR_INTERNET_INCORRECT_HANDLE_TYPE;
         goto lend;
     }
 
@@ -3464,19 +3461,23 @@ BOOL WINAPI HttpSendRequestW(HINTERNET hHttpRequest, LPCWSTR lpszHeaders,
         /*
          * This is from windows.
          */
-        INTERNET_SetLastError(ERROR_IO_PENDING);
-        r = FALSE;
+        res = ERROR_IO_PENDING;
     }
     else
     {
-	r = HTTP_HttpSendRequestW(lpwhr, lpszHeaders,
+	BOOL r = HTTP_HttpSendRequestW(lpwhr, lpszHeaders,
 		dwHeaderLength, lpOptional, dwOptionalLength,
 		dwOptionalLength, TRUE);
+        if(!r)
+            res = INTERNET_GetLastError();
     }
 lend:
     if( lpwhr )
         WININET_Release( &lpwhr->hdr );
-    return r;
+
+    if(res != ERROR_SUCCESS)
+        SetLastError(res);
+    return res == ERROR_SUCCESS;
 }
 
 /***********************************************************************




More information about the wine-cvs mailing list