Jacek Caban : wininet: Move INTERNET_STATUS_REQUEST_COMPLETE call from INTERNET_ReadFile.

Alexandre Julliard julliard at winehq.org
Mon Mar 3 06:21:28 CST 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Mar  2 19:53:35 2008 +0100

wininet: Move INTERNET_STATUS_REQUEST_COMPLETE call from INTERNET_ReadFile.

---

 dlls/wininet/http.c     |    3 +--
 dlls/wininet/internet.c |   32 ++++++++++++++------------------
 dlls/wininet/internet.h |    2 +-
 3 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index b1a181d..2558ea1 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -729,8 +729,7 @@ static void HTTP_DrainContent(LPWININETHTTPREQW lpwhr)
     do
     {
         char buffer[2048];
-        if (!INTERNET_ReadFile(&lpwhr->hdr, buffer, sizeof(buffer), &bytes_read,
-                               TRUE, FALSE))
+        if (!INTERNET_ReadFile(&lpwhr->hdr, buffer, sizeof(buffer), &bytes_read, TRUE))
             return;
     } while (bytes_read);
 }
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index dcddfd2..0019bb9 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -1700,8 +1700,7 @@ BOOL WINAPI InternetWriteFile(HINTERNET hFile, LPCVOID lpBuffer,
 
 
 BOOL INTERNET_ReadFile(LPWININETHANDLEHEADER lpwh, LPVOID lpBuffer,
-                       DWORD dwNumOfBytesToRead, LPDWORD pdwNumOfBytesRead,
-                       BOOL bWait, BOOL bSendCompletionStatus)
+                       DWORD dwNumOfBytesToRead, LPDWORD pdwNumOfBytesRead, BOOL bWait)
 {
     BOOL retval = FALSE;
     int nSocket = -1;
@@ -1765,18 +1764,6 @@ BOOL INTERNET_ReadFile(LPWININETHANDLEHEADER lpwh, LPVOID lpBuffer,
             break;
     }
 
-    if (bSendCompletionStatus)
-    {
-        INTERNET_ASYNC_RESULT iar;
-
-        iar.dwResult = retval;
-        iar.dwError = iar.dwError = retval ? ERROR_SUCCESS :
-                                             INTERNET_GetLastError();
-
-        INTERNET_SendCallback(lpwh, lpwh->dwContext,
-                              INTERNET_STATUS_REQUEST_COMPLETE, &iar,
-                              sizeof(INTERNET_ASYNC_RESULT));
-    }
     return retval;
 }
 
@@ -1805,7 +1792,7 @@ BOOL WINAPI InternetReadFile(HINTERNET hFile, LPVOID lpBuffer,
         return FALSE;
     }
 
-    retval = INTERNET_ReadFile(lpwh, lpBuffer, dwNumOfBytesToRead, pdwNumOfBytesRead, TRUE, FALSE);
+    retval = INTERNET_ReadFile(lpwh, lpBuffer, dwNumOfBytesToRead, pdwNumOfBytesRead, TRUE);
     WININET_Release( lpwh );
 
     TRACE("-- %s (bytes read: %d)\n", retval ? "TRUE": "FALSE", pdwNumOfBytesRead ? *pdwNumOfBytesRead : -1);
@@ -1842,12 +1829,21 @@ BOOL WINAPI InternetReadFile(HINTERNET hFile, LPVOID lpBuffer,
 void AsyncInternetReadFileExProc(WORKREQUEST *workRequest)
 {
     struct WORKREQ_INTERNETREADFILEEXA const *req = &workRequest->u.InternetReadFileExA;
+    INTERNET_ASYNC_RESULT iar;
+    BOOL res;
 
     TRACE("INTERNETREADFILEEXA %p\n", workRequest->hdr);
 
-    INTERNET_ReadFile(workRequest->hdr, req->lpBuffersOut->lpvBuffer,
+    res = INTERNET_ReadFile(workRequest->hdr, req->lpBuffersOut->lpvBuffer,
         req->lpBuffersOut->dwBufferLength,
-        &req->lpBuffersOut->dwBufferLength, TRUE, TRUE);
+        &req->lpBuffersOut->dwBufferLength, TRUE);
+
+    iar.dwResult = res;
+    iar.dwError = res ? ERROR_SUCCESS : INTERNET_GetLastError();
+
+    INTERNET_SendCallback(workRequest->hdr, workRequest->hdr->dwContext,
+                          INTERNET_STATUS_REQUEST_COMPLETE, &iar,
+                          sizeof(INTERNET_ASYNC_RESULT));
 }
 
 BOOL WINAPI InternetReadFileExA(HINTERNET hFile, LPINTERNET_BUFFERSA lpBuffersOut,
@@ -1907,7 +1903,7 @@ BOOL WINAPI InternetReadFileExA(HINTERNET hFile, LPINTERNET_BUFFERSA lpBuffersOu
 
     retval = INTERNET_ReadFile(lpwh, lpBuffersOut->lpvBuffer,
         lpBuffersOut->dwBufferLength, &lpBuffersOut->dwBufferLength,
-        !(dwFlags & IRF_NO_WAIT), FALSE);
+        !(dwFlags & IRF_NO_WAIT));
 
     if (retval)
     {
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
index 4cdab9f..fcf225d 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -404,7 +404,7 @@ LPSTR INTERNET_GetResponseBuffer(void);
 LPSTR INTERNET_GetNextLine(INT nSocket, LPDWORD dwLen);
 BOOL INTERNET_ReadFile(LPWININETHANDLEHEADER lpwh, LPVOID lpBuffer,
                        DWORD dwNumOfBytesToRead, LPDWORD pdwNumOfBytesRead,
-                       BOOL bWait, BOOL bSendCompletionStatus);
+                       BOOL bWait);
 
 BOOLAPI FTP_FtpPutFileW(LPWININETFTPSESSIONW lpwfs, LPCWSTR lpszLocalFile,
     LPCWSTR lpszNewRemoteFile, DWORD dwFlags, DWORD_PTR dwContext);




More information about the wine-cvs mailing list