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