Jacek Caban : wininet: Moved WORKREQ_FTPPUTFILEW out of WORKREQUEST.

Alexandre Julliard julliard at winehq.org
Tue Jan 29 12:35:42 CST 2013


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Jan 29 12:04:40 2013 +0100

wininet: Moved WORKREQ_FTPPUTFILEW out of WORKREQUEST.

---

 dlls/wininet/ftp.c      |   37 ++++++++++++++++++++++---------------
 dlls/wininet/internet.h |   10 ----------
 2 files changed, 22 insertions(+), 25 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 41e008e..3f86dc3 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -251,18 +251,26 @@ BOOL WINAPI FtpPutFileA(HINTERNET hConnect, LPCSTR lpszLocalFile,
     return ret;
 }
 
-static void AsyncFtpPutFileProc(WORKREQUEST *workRequest)
+typedef struct {
+    task_header_t hdr;
+    WCHAR *local_file;
+    WCHAR *remote_file;
+    DWORD flags;
+    DWORD_PTR context;
+} put_file_task_t;
+
+static void AsyncFtpPutFileProc(task_header_t *hdr)
 {
-    struct WORKREQ_FTPPUTFILEW const *req = &workRequest->u.FtpPutFileW;
-    ftp_session_t *lpwfs = (ftp_session_t*) workRequest->hdr;
+    put_file_task_t *task = (put_file_task_t*)hdr;
+    ftp_session_t *session = (ftp_session_t*)task->hdr.hdr;
 
-    TRACE("%p\n", lpwfs);
+    TRACE("%p\n", session);
 
-    FTP_FtpPutFileW(lpwfs, req->lpszLocalFile,
-               req->lpszNewRemoteFile, req->dwFlags, req->dwContext);
+    FTP_FtpPutFileW(session, task->local_file, task->remote_file,
+               task->flags, task->context);
 
-    heap_free(req->lpszLocalFile);
-    heap_free(req->lpszNewRemoteFile);
+    heap_free(task->local_file);
+    heap_free(task->remote_file);
 }
 
 /***********************************************************************
@@ -316,15 +324,14 @@ BOOL WINAPI FtpPutFileW(HINTERNET hConnect, LPCWSTR lpszLocalFile,
     hIC = lpwfs->lpAppInfo;
     if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
     {
-        WORKREQUEST *task = alloc_async_task(&lpwfs->hdr, AsyncFtpPutFileProc, sizeof(*task));
-        struct WORKREQ_FTPPUTFILEW *req = &task->u.FtpPutFileW;
+        put_file_task_t *task = alloc_async_task(&lpwfs->hdr, AsyncFtpPutFileProc, sizeof(*task));
 
-        req->lpszLocalFile = heap_strdupW(lpszLocalFile);
-        req->lpszNewRemoteFile = heap_strdupW(lpszNewRemoteFile);
-	req->dwFlags = dwFlags;
-	req->dwContext = dwContext;
+        task->local_file = heap_strdupW(lpszLocalFile);
+        task->remote_file = heap_strdupW(lpszNewRemoteFile);
+        task->flags = dwFlags;
+        task->context = dwContext;
 
-	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 b1a7cfe..dd3da94 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -355,15 +355,6 @@ typedef struct
 } http_request_t;
 
 
-
-struct WORKREQ_FTPPUTFILEW
-{
-    LPWSTR lpszLocalFile;
-    LPWSTR lpszNewRemoteFile;
-    DWORD  dwFlags;
-    DWORD_PTR dwContext;
-};
-
 struct WORKREQ_FTPSETCURRENTDIRECTORYW
 {
     LPWSTR lpszDirectory;
@@ -436,7 +427,6 @@ typedef struct WORKREQ
     object_header_t *hdr;
 
     union {
-        struct WORKREQ_FTPPUTFILEW              FtpPutFileW;
         struct WORKREQ_FTPSETCURRENTDIRECTORYW  FtpSetCurrentDirectoryW;
         struct WORKREQ_FTPCREATEDIRECTORYW      FtpCreateDirectoryW;
         struct WORKREQ_FTPFINDFIRSTFILEW        FtpFindFirstFileW;




More information about the wine-cvs mailing list