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