Module: wine Branch: master Commit: 88ac3a381be22bf2a010c1d0f5b4651da84da7ea URL: http://source.winehq.org/git/wine.git/?a=commit;h=88ac3a381be22bf2a010c1d0f5...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Dec 21 13:57:49 2009 +0100
wininet: Return error directly from INTERNET_AsyncCall.
---
dlls/wininet/ftp.c | 23 +++++++++++++++-------- dlls/wininet/internet.c | 8 ++++---- dlls/wininet/internet.h | 2 +- 3 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c index 6c9765f..1f03199 100644 --- a/dlls/wininet/ftp.c +++ b/dlls/wininet/ftp.c @@ -217,6 +217,13 @@ static BOOL FTP_FtpGetFileW(ftp_session_t*, LPCWSTR lpszRemoteFile, LPCWSTR lpsz BOOL fFailIfExists, DWORD dwLocalFlagsAttribute, DWORD dwInternetFlags, DWORD_PTR dwContext);
+/* A temporary helper until we get rid of INTERNET_GetLastError calls */ +static BOOL res_to_le(DWORD res) +{ + if(res != ERROR_SUCCESS) + INTERNET_SetLastError(res); + return res == ERROR_SUCCESS; +}
/*********************************************************************** * FtpPutFileA (WININET.@) @@ -319,7 +326,7 @@ BOOL WINAPI FtpPutFileW(HINTERNET hConnect, LPCWSTR lpszLocalFile, req->dwFlags = dwFlags; req->dwContext = dwContext;
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { @@ -489,7 +496,7 @@ BOOL WINAPI FtpSetCurrentDirectoryW(HINTERNET hConnect, LPCWSTR lpszDirectory) req = &workRequest.u.FtpSetCurrentDirectoryW; req->lpszDirectory = heap_strdupW(lpszDirectory);
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { @@ -639,7 +646,7 @@ BOOL WINAPI FtpCreateDirectoryW(HINTERNET hConnect, LPCWSTR lpszDirectory) req = &workRequest.u.FtpCreateDirectoryW; req->lpszDirectory = heap_strdupW(lpszDirectory);
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { @@ -1000,7 +1007,7 @@ BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET hFtpSession, LPWSTR lpszCurrentDir req->lpszDirectory = lpszCurrentDirectory; req->lpdwDirectory = lpdwCurrentDirectory;
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { @@ -1658,7 +1665,7 @@ BOOL WINAPI FtpGetFileW(HINTERNET hInternet, LPCWSTR lpszRemoteFile, LPCWSTR lps req->dwFlags = dwInternetFlags; req->dwContext = dwContext;
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { @@ -1847,7 +1854,7 @@ BOOL WINAPI FtpDeleteFileW(HINTERNET hFtpSession, LPCWSTR lpszFileName) req = &workRequest.u.FtpDeleteFileW; req->lpszFilename = heap_strdupW(lpszFileName);
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { @@ -1992,7 +1999,7 @@ BOOL WINAPI FtpRemoveDirectoryW(HINTERNET hFtpSession, LPCWSTR lpszDirectory) req = &workRequest.u.FtpRemoveDirectoryW; req->lpszDirectory = heap_strdupW(lpszDirectory);
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { @@ -2143,7 +2150,7 @@ BOOL WINAPI FtpRenameFileW(HINTERNET hFtpSession, LPCWSTR lpszSrc, LPCWSTR lpszD req->lpszSrcFile = heap_strdupW(lpszSrc); req->lpszDestFile = heap_strdupW(lpszDest);
- r = INTERNET_AsyncCall(&workRequest); + r = res_to_le(INTERNET_AsyncCall(&workRequest)); } else { diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index d749e53..4e6d2b0 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -3141,7 +3141,7 @@ static DWORD CALLBACK INTERNET_WorkerThreadFunc(LPVOID lpvParam) * RETURNS * */ -BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest) +DWORD INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest) { BOOL bSuccess; LPWORKREQUEST lpNewRequest; @@ -3150,7 +3150,7 @@ BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest)
lpNewRequest = HeapAlloc(GetProcessHeap(), 0, sizeof(WORKREQUEST)); if (!lpNewRequest) - return FALSE; + return ERROR_OUTOFMEMORY;
*lpNewRequest = *lpWorkRequest;
@@ -3158,10 +3158,10 @@ BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest) if (!bSuccess) { HeapFree(GetProcessHeap(), 0, lpNewRequest); - INTERNET_SetLastError(ERROR_INTERNET_ASYNC_THREAD_FAILED); + return ERROR_INTERNET_ASYNC_THREAD_FAILED; }
- return bSuccess; + return ERROR_SUCCESS; }
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h index e5b9dc3..5b05676 100644 --- a/dlls/wininet/internet.h +++ b/dlls/wininet/internet.h @@ -407,7 +407,7 @@ BOOL GetAddress(LPCWSTR lpszServerName, INTERNET_PORT nServerPort,
void INTERNET_SetLastError(DWORD dwError); DWORD INTERNET_GetLastError(void); -BOOL INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest); +DWORD INTERNET_AsyncCall(LPWORKREQUEST lpWorkRequest); LPSTR INTERNET_GetResponseBuffer(void); LPSTR INTERNET_GetNextLine(INT nSocket, LPDWORD dwLen);