Jacek Caban : wininet: Moved WORKREQ_FTPFINDFIRSTFILEW out of WORKREQUEST.

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


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

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

wininet: Moved WORKREQ_FTPFINDFIRSTFILEW out of WORKREQUEST.

---

 dlls/wininet/ftp.c      |   38 +++++++++++++++++++++-----------------
 dlls/wininet/internet.h |    9 ---------
 2 files changed, 21 insertions(+), 26 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 0adce0a..3d05a42 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -739,17 +739,23 @@ HINTERNET WINAPI FtpFindFirstFileA(HINTERNET hConnect,
     return ret;
 }
 
+typedef struct {
+    task_header_t hdr;
+    WCHAR *search_file;
+    WIN32_FIND_DATAW *find_file_data;
+    DWORD flags;
+    DWORD_PTR context;
+} find_first_file_task_t;
 
-static void AsyncFtpFindFirstFileProc(WORKREQUEST *workRequest)
+static void AsyncFtpFindFirstFileProc(task_header_t *hdr)
 {
-    struct WORKREQ_FTPFINDFIRSTFILEW const *req = &workRequest->u.FtpFindFirstFileW;
-    ftp_session_t *lpwfs = (ftp_session_t*) workRequest->hdr;
+    find_first_file_task_t *task = (find_first_file_task_t*)hdr;
+    ftp_session_t *session = (ftp_session_t*)task->hdr.hdr;
 
-    TRACE("%p\n", lpwfs);
+    TRACE("%p\n", session);
 
-    FTP_FtpFindFirstFileW(lpwfs, req->lpszSearchFile,
-       req->lpFindFileData, req->dwFlags, req->dwContext);
-    heap_free(req->lpszSearchFile);
+    FTP_FtpFindFirstFileW(session, task->search_file, task->find_file_data, task->flags, task->context);
+    heap_free(task->search_file);
 }
 
 /***********************************************************************
@@ -785,18 +791,16 @@ HINTERNET WINAPI FtpFindFirstFileW(HINTERNET hConnect,
     hIC = lpwfs->lpAppInfo;
     if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
     {
-        WORKREQUEST *task;
-        struct WORKREQ_FTPFINDFIRSTFILEW *req;
+        find_first_file_t *task;
 
         task = alloc_async_task(&lpwfs->hdr, AsyncFtpFindFirstFileProc, sizeof(*task));
-        req = &task->u.FtpFindFirstFileW;
-        req->lpszSearchFile = (lpszSearchFile == NULL) ? NULL : heap_strdupW(lpszSearchFile);
-	req->lpFindFileData = lpFindFileData;
-	req->dwFlags = dwFlags;
-	req->dwContext= dwContext;
+        task->search_file = heap_strdupW(lpszSearchFile);
+        task->find_file_data = lpFindFileData;
+        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 4dd0abe..7e49e9d 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -355,14 +355,6 @@ typedef struct
 } http_request_t;
 
 
-struct WORKREQ_FTPFINDFIRSTFILEW
-{
-    LPWSTR lpszSearchFile;
-    LPWIN32_FIND_DATAW lpFindFileData;
-    DWORD  dwFlags;
-    DWORD_PTR dwContext;
-};
-
 struct WORKREQ_FTPOPENFILEW
 {
     LPWSTR lpszFilename;
@@ -396,7 +388,6 @@ typedef struct WORKREQ
     object_header_t *hdr;
 
     union {
-        struct WORKREQ_FTPFINDFIRSTFILEW        FtpFindFirstFileW;
         struct WORKREQ_FTPOPENFILEW             FtpOpenFileW;
         struct WORKREQ_FTPDELETEFILEW           FtpDeleteFileW;
         struct WORKREQ_FTPRENAMEFILEW           FtpRenameFileW;




More information about the wine-cvs mailing list