Jacek Caban : wininet: Moved WORKREQ_FTPGETCURRENTDIRECTORYW out of WORKREQUEST.

Alexandre Julliard julliard at winehq.org
Wed Jan 30 13:43:22 CST 2013


Module: wine
Branch: master
Commit: 059c77956f0de0f15b7305221fa3e4c81f01af98
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=059c77956f0de0f15b7305221fa3e4c81f01af98

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jan 30 11:38:22 2013 +0100

wininet: Moved WORKREQ_FTPGETCURRENTDIRECTORYW out of WORKREQUEST.

---

 dlls/wininet/ftp.c      |   25 ++++++++++++++-----------
 dlls/wininet/internet.h |    7 -------
 2 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 6694edb..0adce0a 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -936,15 +936,20 @@ BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET hFtpSession, LPSTR lpszCurrentDire
     return ret;
 }
 
+typedef struct {
+    task_header_t hdr;
+    WCHAR *directory;
+    DWORD *directory_len;
+} get_current_dir_task_t;
 
-static void AsyncFtpGetCurrentDirectoryProc(WORKREQUEST *workRequest)
+static void AsyncFtpGetCurrentDirectoryProc(task_header_t *hdr)
 {
-    struct WORKREQ_FTPGETCURRENTDIRECTORYW const *req = &workRequest->u.FtpGetCurrentDirectoryW;
-    ftp_session_t *lpwfs = (ftp_session_t*) workRequest->hdr;
+    get_current_dir_task_t *task = (get_current_dir_task_t*)hdr;
+    ftp_session_t *session = (ftp_session_t*)task->hdr.hdr;
 
-    TRACE("%p\n", lpwfs);
+    TRACE("%p\n", session);
 
-    FTP_FtpGetCurrentDirectoryW(lpwfs, req->lpszDirectory, req->lpdwDirectory);
+    FTP_FtpGetCurrentDirectoryW(session, task->directory, task->directory_len);
 }
 
 /***********************************************************************
@@ -1000,15 +1005,13 @@ BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET hFtpSession, LPWSTR lpszCurrentDir
     hIC = lpwfs->lpAppInfo;
     if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
     {
-        WORKREQUEST *task;
-        struct WORKREQ_FTPGETCURRENTDIRECTORYW *req;
+        get_current_dir_task_t *task;
 
         task = alloc_async_task(&lpwfs->hdr, AsyncFtpGetCurrentDirectoryProc, sizeof(*task));
-        req = &task->u.FtpGetCurrentDirectoryW;
-	req->lpszDirectory = lpszCurrentDirectory;
-	req->lpdwDirectory = lpdwCurrentDirectory;
+        task->directory = lpszCurrentDirectory;
+        task->directory_len = lpdwCurrentDirectory;
 
-	r = res_to_le(INTERNET_AsyncCall(task));
+        r = res_to_le(INTERNET_AsyncCall(&task->hdr));
     }
     else
     {
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
index 628f0c0..4dd0abe 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -363,12 +363,6 @@ struct WORKREQ_FTPFINDFIRSTFILEW
     DWORD_PTR dwContext;
 };
 
-struct WORKREQ_FTPGETCURRENTDIRECTORYW
-{
-    LPWSTR lpszDirectory;
-    DWORD *lpdwDirectory;
-};
-
 struct WORKREQ_FTPOPENFILEW
 {
     LPWSTR lpszFilename;
@@ -403,7 +397,6 @@ typedef struct WORKREQ
 
     union {
         struct WORKREQ_FTPFINDFIRSTFILEW        FtpFindFirstFileW;
-        struct WORKREQ_FTPGETCURRENTDIRECTORYW  FtpGetCurrentDirectoryW;
         struct WORKREQ_FTPOPENFILEW             FtpOpenFileW;
         struct WORKREQ_FTPDELETEFILEW           FtpDeleteFileW;
         struct WORKREQ_FTPRENAMEFILEW           FtpRenameFileW;




More information about the wine-cvs mailing list