From 9a5c04612920a67f4b67be9ab76c4535a6251310 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sun, 2 Mar 2008 19:53:35 +0100 Subject: [PATCH] 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 b1a181d8392..2558ea1ceaa 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 dcddfd291d2..0019bb96615 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 4cdab9f0581..fcf225d3e60 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);