Jacek Caban : wininet: Moved WORKREQ_FTPGETFILEW out of WORKREQUEST.
Alexandre Julliard
julliard at winehq.org
Wed Jan 30 13:43:22 CST 2013
Module: wine
Branch: master
Commit: b2deb676968084dac07ea889aa6e973b05786ba6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b2deb676968084dac07ea889aa6e973b05786ba6
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Jan 30 11:38:12 2013 +0100
wininet: Moved WORKREQ_FTPGETFILEW out of WORKREQUEST.
---
dlls/wininet/ftp.c | 44 +++++++++++++++++++++++++-------------------
dlls/wininet/internet.h | 11 -----------
2 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 599b38e..6694edb 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -1563,19 +1563,27 @@ BOOL WINAPI FtpGetFileA(HINTERNET hInternet, LPCSTR lpszRemoteFile, LPCSTR lpszN
return ret;
}
+typedef struct {
+ task_header_t hdr;
+ WCHAR *remote_file;
+ WCHAR *new_file;
+ BOOL fail_if_exists;
+ DWORD local_attr;
+ DWORD flags;
+ DWORD_PTR context;
+} get_file_task_t;
-static void AsyncFtpGetFileProc(WORKREQUEST *workRequest)
+static void AsyncFtpGetFileProc(task_header_t *hdr)
{
- struct WORKREQ_FTPGETFILEW const *req = &workRequest->u.FtpGetFileW;
- ftp_session_t *lpwfs = (ftp_session_t*) workRequest->hdr;
+ get_file_task_t *task = (get_file_task_t*)hdr;
+ ftp_session_t *session = (ftp_session_t*)task->hdr.hdr;
- TRACE("%p\n", lpwfs);
+ TRACE("%p\n", session);
- FTP_FtpGetFileW(lpwfs, req->lpszRemoteFile,
- req->lpszNewFile, req->fFailIfExists,
- req->dwLocalFlagsAttribute, req->dwFlags, req->dwContext);
- heap_free(req->lpszRemoteFile);
- heap_free(req->lpszNewFile);
+ FTP_FtpGetFileW(session, task->remote_file, task->new_file, task->fail_if_exists,
+ task->local_attr, task->flags, task->context);
+ heap_free(task->remote_file);
+ heap_free(task->new_file);
}
@@ -1631,19 +1639,17 @@ BOOL WINAPI FtpGetFileW(HINTERNET hInternet, LPCWSTR lpszRemoteFile, LPCWSTR lps
hIC = lpwfs->lpAppInfo;
if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC)
{
- WORKREQUEST *task;
- struct WORKREQ_FTPGETFILEW *req;
+ get_file_task_t *task;
task = alloc_async_task(&lpwfs->hdr, AsyncFtpGetFileProc, sizeof(*task));
- req = &task->u.FtpGetFileW;
- req->lpszRemoteFile = heap_strdupW(lpszRemoteFile);
- req->lpszNewFile = heap_strdupW(lpszNewFile);
- req->dwLocalFlagsAttribute = dwLocalFlagsAttribute;
- req->fFailIfExists = fFailIfExists;
- req->dwFlags = dwInternetFlags;
- req->dwContext = dwContext;
+ task->remote_file = heap_strdupW(lpszRemoteFile);
+ task->new_file = heap_strdupW(lpszNewFile);
+ task->local_attr = dwLocalFlagsAttribute;
+ task->fail_if_exists = fFailIfExists;
+ task->flags = dwInternetFlags;
+ 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 382cae9..628f0c0 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -377,16 +377,6 @@ struct WORKREQ_FTPOPENFILEW
DWORD_PTR dwContext;
};
-struct WORKREQ_FTPGETFILEW
-{
- LPWSTR lpszRemoteFile;
- LPWSTR lpszNewFile;
- BOOL fFailIfExists;
- DWORD dwLocalFlagsAttribute;
- DWORD dwFlags;
- DWORD_PTR dwContext;
-};
-
struct WORKREQ_FTPDELETEFILEW
{
LPWSTR lpszFilename;
@@ -415,7 +405,6 @@ typedef struct WORKREQ
struct WORKREQ_FTPFINDFIRSTFILEW FtpFindFirstFileW;
struct WORKREQ_FTPGETCURRENTDIRECTORYW FtpGetCurrentDirectoryW;
struct WORKREQ_FTPOPENFILEW FtpOpenFileW;
- struct WORKREQ_FTPGETFILEW FtpGetFileW;
struct WORKREQ_FTPDELETEFILEW FtpDeleteFileW;
struct WORKREQ_FTPRENAMEFILEW FtpRenameFileW;
struct WORKREQ_FTPFINDNEXTW FtpFindNextW;
More information about the wine-cvs
mailing list