Jacek Caban : wininet: Moved WORKREQ_INTERNETOPENURLW out of WORKREQUEST.
Alexandre Julliard
julliard at winehq.org
Mon Jan 28 13:43:20 CST 2013
Module: wine
Branch: master
Commit: df749512579d4810c89516fc5028dd2323b9883d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=df749512579d4810c89516fc5028dd2323b9883d
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Jan 28 11:23:45 2013 +0100
wininet: Moved WORKREQ_INTERNETOPENURLW out of WORKREQUEST.
---
dlls/wininet/internet.c | 42 ++++++++++++++++++++++++------------------
dlls/wininet/internet.h | 11 -----------
2 files changed, 24 insertions(+), 29 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 1db1d32..dff24d9 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -3497,17 +3497,25 @@ static HINTERNET INTERNET_InternetOpenUrlW(appinfo_t *hIC, LPCWSTR lpszUrl,
* RETURNS
* handle of connection or NULL on failure
*/
-static void AsyncInternetOpenUrlProc(WORKREQUEST *workRequest)
+typedef struct {
+ task_header_t hdr;
+ WCHAR *url;
+ WCHAR *headers;
+ DWORD headers_len;
+ DWORD flags;
+ DWORD_PTR context;
+} open_url_task_t;
+
+static void AsyncInternetOpenUrlProc(task_header_t *hdr)
{
- struct WORKREQ_INTERNETOPENURLW const *req = &workRequest->u.InternetOpenUrlW;
- appinfo_t *hIC = (appinfo_t*) workRequest->hdr;
+ open_url_task_t *task = (open_url_task_t*)hdr;
- TRACE("%p\n", hIC);
+ TRACE("%p\n", task->hdr.hdr);
- INTERNET_InternetOpenUrlW(hIC, req->lpszUrl,
- req->lpszHeaders, req->dwHeadersLength, req->dwFlags, req->dwContext);
- heap_free(req->lpszUrl);
- heap_free(req->lpszHeaders);
+ INTERNET_InternetOpenUrlW((appinfo_t*)task->hdr.hdr, task->url, task->headers,
+ task->headers_len, task->flags, task->context);
+ heap_free(task->url);
+ heap_free(task->headers);
}
HINTERNET WINAPI InternetOpenUrlW(HINTERNET hInternet, LPCWSTR lpszUrl,
@@ -3536,19 +3544,17 @@ HINTERNET WINAPI InternetOpenUrlW(HINTERNET hInternet, LPCWSTR lpszUrl,
}
if (hIC->hdr.dwFlags & INTERNET_FLAG_ASYNC) {
- WORKREQUEST *task;
- struct WORKREQ_INTERNETOPENURLW *req;
+ open_url_task_t *task;
task = alloc_async_task(&hIC->hdr, AsyncInternetOpenUrlProc, sizeof(*task));
- req = &task->u.InternetOpenUrlW;
- req->lpszUrl = heap_strdupW(lpszUrl);
- req->lpszHeaders = heap_strdupW(lpszHeaders);
- req->dwHeadersLength = dwHeadersLength;
- req->dwFlags = dwFlags;
- req->dwContext = dwContext;
+ task->url = heap_strdupW(lpszUrl);
+ task->headers = heap_strdupW(lpszHeaders);
+ task->headers_len = dwHeadersLength;
+ task->flags = dwFlags;
+ task->context = dwContext;
- INTERNET_AsyncCall(task);
- SetLastError(ERROR_IO_PENDING);
+ INTERNET_AsyncCall(&task->hdr);
+ SetLastError(ERROR_IO_PENDING);
} else {
ret = INTERNET_InternetOpenUrlW(hIC, lpszUrl, lpszHeaders, dwHeadersLength, dwFlags, dwContext);
}
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
index 9e66dad..4b39070 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -441,16 +441,6 @@ struct WORKREQ_SENDCALLBACK
DWORD dwStatusInfoLength;
};
-struct WORKREQ_INTERNETOPENURLW
-{
- HINTERNET hInternet;
- LPWSTR lpszUrl;
- LPWSTR lpszHeaders;
- DWORD dwHeadersLength;
- DWORD dwFlags;
- DWORD_PTR dwContext;
-};
-
struct WORKREQ_HTTPREADFILEEX
{
void *buf;
@@ -480,7 +470,6 @@ typedef struct WORKREQ
struct WORKREQ_FTPFINDNEXTW FtpFindNextW;
struct WORKREQ_HTTPENDREQUESTW HttpEndRequestW;
struct WORKREQ_SENDCALLBACK SendCallback;
- struct WORKREQ_INTERNETOPENURLW InternetOpenUrlW;
struct WORKREQ_HTTPREADFILEEX HttpReadFileEx;
} u;
} WORKREQUEST, *LPWORKREQUEST;
More information about the wine-cvs
mailing list