Jacek Caban : wininet: Use proc instead of enum in FTPGETFILEW
request.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Dec 26 06:49:24 CST 2006
Module: wine
Branch: master
Commit: 054108368e1191f44a35eddd6ea0f80454ef9e65
URL: http://source.winehq.org/git/wine.git/?a=commit;h=054108368e1191f44a35eddd6ea0f80454ef9e65
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Dec 25 21:35:46 2006 +0100
wininet: Use proc instead of enum in FTPGETFILEW request.
---
dlls/wininet/ftp.c | 19 +++++++++++++++++--
dlls/wininet/internet.c | 15 ---------------
dlls/wininet/internet.h | 1 -
3 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 2b4093b..31a0157 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -1198,6 +1198,20 @@ BOOL WINAPI FtpGetFileA(HINTERNET hInter
* FALSE on failure
*
*/
+static void AsyncFtpGetFileProc(WORKREQUEST *workRequest)
+{
+ struct WORKREQ_FTPGETFILEW const *req = &workRequest->u.FtpGetFileW;
+ LPWININETFTPSESSIONW lpwfs = (LPWININETFTPSESSIONW) workRequest->hdr;
+
+ TRACE("%p\n", lpwfs);
+
+ FTP_FtpGetFileW(lpwfs, req->lpszRemoteFile,
+ req->lpszNewFile, req->fFailIfExists,
+ req->dwLocalFlagsAttribute, req->dwFlags, req->dwContext);
+ HeapFree(GetProcessHeap(), 0, req->lpszRemoteFile);
+ HeapFree(GetProcessHeap(), 0, req->lpszNewFile);
+}
+
BOOL WINAPI FtpGetFileW(HINTERNET hInternet, LPCWSTR lpszRemoteFile, LPCWSTR lpszNewFile,
BOOL fFailIfExists, DWORD dwLocalFlagsAttribute, DWORD dwInternetFlags,
DWORD dwContext)
@@ -1224,8 +1238,9 @@ BOOL WINAPI FtpGetFileW(HINTERNET hInter
WORKREQUEST workRequest;
struct WORKREQ_FTPGETFILEW *req;
- workRequest.asyncall = FTPGETFILEW;
- workRequest.hdr = WININET_AddRef( &lpwfs->hdr );
+ workRequest.asyncall = CALLASYNCPROC;
+ workRequest.asyncproc = AsyncFtpGetFileProc;
+ workRequest.hdr = WININET_AddRef( &lpwfs->hdr );
req = &workRequest.u.FtpGetFileW;
req->lpszRemoteFile = WININET_strdupW(lpszRemoteFile);
req->lpszNewFile = WININET_strdupW(lpszNewFile);
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index e98544c..9e94676 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -3243,21 +3243,6 @@ static VOID INTERNET_ExecuteWork(void)
workRequest.asyncproc(&workRequest);
break;
- case FTPGETFILEW:
- {
- struct WORKREQ_FTPGETFILEW *req = &workRequest.u.FtpGetFileW;
- LPWININETFTPSESSIONW lpwfs = (LPWININETFTPSESSIONW) workRequest.hdr;
-
- TRACE("FTPGETFILEW %p\n", lpwfs);
-
- FTP_FtpGetFileW(lpwfs, req->lpszRemoteFile,
- req->lpszNewFile, req->fFailIfExists,
- req->dwLocalFlagsAttribute, req->dwFlags, req->dwContext);
- HeapFree(GetProcessHeap(), 0, req->lpszRemoteFile);
- HeapFree(GetProcessHeap(), 0, req->lpszNewFile);
- }
- break;
-
case FTPDELETEFILEW:
{
struct WORKREQ_FTPDELETEFILEW *req = &workRequest.u.FtpDeleteFileW;
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
index cf02e92..0938068 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -250,7 +250,6 @@ typedef struct
typedef enum
{
CALLASYNCPROC,
- FTPGETFILEW,
FTPDELETEFILEW,
FTPREMOVEDIRECTORYW,
FTPRENAMEFILEW,
More information about the wine-cvs
mailing list