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