Module: wine Branch: master Commit: 228d6a6064d2e68646db4e85ccf7243759291b44 URL: http://source.winehq.org/git/wine.git/?a=commit;h=228d6a6064d2e68646db4e85cc...
Author: Jacek Caban jacek@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;