Jacek Caban : wininet: Return error directly from INTERNET_AsyncCall.
Alexandre Julliard
julliard at winehq.org
Mon Dec 21 09:39:52 CST 2009
Module: wine
Branch: master
Commit: 88ac3a381be22bf2a010c1d0f5b4651da84da7ea
URL: http://source.winehq.org/git/wine.git/?a=commit;h=88ac3a381be22bf2a010c1d0f5b4651da84da7ea
Author: Jacek Caban <jacek at 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);
More information about the wine-cvs
mailing list