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