Jacek Caban : wininet: Moved WORKREQ_FTPOPENFILEW out of WORKREQUEST.

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


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

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

wininet: Moved WORKREQ_FTPOPENFILEW out of WORKREQUEST.

---

 dlls/wininet/ftp.c      |   40 ++++++++++++++++++++++------------------
 dlls/wininet/internet.h |    9 ---------
 2 files changed, 22 insertions(+), 27 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 3d05a42..ba7d5c3 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -791,7 +791,7 @@ HINTERNET WINAPI FtpFindFirstFileW(HINTERNET hConnect,
     hIC = lpwfs->lpAppInfo;
     if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
     {
-        find_first_file_t *task;
+        find_first_file_task_t *task;
 
         task = alloc_async_task(&lpwfs->hdr, AsyncFtpFindFirstFileProc, sizeof(*task));
         task->search_file = heap_strdupW(lpszSearchFile);
@@ -1454,17 +1454,23 @@ HINTERNET WINAPI FtpOpenFileA(HINTERNET hFtpSession,
     return ret;
 }
 
+typedef struct {
+    task_header_t hdr;
+    WCHAR *file_name;
+    DWORD access;
+    DWORD flags;
+    DWORD_PTR context;
+} open_file_task_t;
 
-static void AsyncFtpOpenFileProc(WORKREQUEST *workRequest)
+static void AsyncFtpOpenFileProc(task_header_t *hdr)
 {
-    struct WORKREQ_FTPOPENFILEW const *req = &workRequest->u.FtpOpenFileW;
-    ftp_session_t *lpwfs = (ftp_session_t*) workRequest->hdr;
+    open_file_task_t *task = (open_file_task_t*)hdr;
+    ftp_session_t *session = (ftp_session_t*)task->hdr.hdr;
 
-    TRACE("%p\n", lpwfs);
+    TRACE("%p\n", session);
 
-    FTP_FtpOpenFileW(lpwfs, req->lpszFilename,
-        req->dwAccess, req->dwFlags, req->dwContext);
-    heap_free(req->lpszFilename);
+    FTP_FtpOpenFileW(session, task->file_name, task->access, task->flags, task->context);
+    heap_free(task->file_name);
 }
 
 /***********************************************************************
@@ -1518,18 +1524,16 @@ HINTERNET WINAPI FtpOpenFileW(HINTERNET hFtpSession,
     hIC = lpwfs->lpAppInfo;
     if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
     {
-        WORKREQUEST *task;
-        struct WORKREQ_FTPOPENFILEW *req;
+        open_file_task_t *task;
 
         task = alloc_async_task(&lpwfs->hdr, AsyncFtpOpenFileProc, sizeof(*task));
-        req = &task->u.FtpOpenFileW;
-	req->lpszFilename = heap_strdupW(lpszFileName);
-	req->dwAccess = fdwAccess;
-	req->dwFlags = dwFlags;
-	req->dwContext = dwContext;
+        task->file_name = heap_strdupW(lpszFileName);
+        task->access = fdwAccess;
+        task->flags = dwFlags;
+        task->context = dwContext;
 
-	INTERNET_AsyncCall(task);
-	r = NULL;
+        INTERNET_AsyncCall(&task->hdr);
+        r = NULL;
     }
     else
     {
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
index 7e49e9d..efb6ef5 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -355,14 +355,6 @@ typedef struct
 } http_request_t;
 
 
-struct WORKREQ_FTPOPENFILEW
-{
-    LPWSTR lpszFilename;
-    DWORD  dwAccess;
-    DWORD  dwFlags;
-    DWORD_PTR dwContext;
-};
-
 struct WORKREQ_FTPDELETEFILEW
 {
     LPWSTR lpszFilename;
@@ -388,7 +380,6 @@ typedef struct WORKREQ
     object_header_t *hdr;
 
     union {
-        struct WORKREQ_FTPOPENFILEW             FtpOpenFileW;
         struct WORKREQ_FTPDELETEFILEW           FtpDeleteFileW;
         struct WORKREQ_FTPRENAMEFILEW           FtpRenameFileW;
         struct WORKREQ_FTPFINDNEXTW             FtpFindNextW;




More information about the wine-cvs mailing list