Module: wine Branch: master Commit: 023abdacdbab39936c2dc57fb1b560dcb4961e8a URL: http://source.winehq.org/git/wine.git/?a=commit;h=023abdacdbab39936c2dc57fb1...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Jan 28 11:23:58 2013 +0100
wininet: Moved WORKREQ_HTTPREADFILEEX out of WORKREQUEST.
---
dlls/wininet/http.c | 28 +++++++++++++++++----------- dlls/wininet/internet.h | 8 -------- 2 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index a3ca123..5ec4089 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -2877,16 +2877,22 @@ static DWORD HTTPREQ_ReadFile(object_header_t *hdr, void *buffer, DWORD size, DW return res; }
-static void AsyncReadFileExProc(WORKREQUEST *workRequest) +typedef struct { + task_header_t hdr; + void *buf; + DWORD size; + DWORD *ret_read; +} read_file_ex_task_t; + +static void AsyncReadFileExProc(task_header_t *hdr) { - struct WORKREQ_HTTPREADFILEEX const *data = &workRequest->u.HttpReadFileEx; - http_request_t *req = (http_request_t*)workRequest->hdr; + read_file_ex_task_t *task = (read_file_ex_task_t*)hdr; + http_request_t *req = (http_request_t*)task->hdr.hdr; DWORD res;
- TRACE("INTERNETREADFILEEXW %p\n", workRequest->hdr); - - res = HTTPREQ_Read(req, data->buf, data->size, data->ret_read, TRUE); + TRACE("INTERNETREADFILEEXW %p\n", task->hdr.hdr);
+ res = HTTPREQ_Read(req, task->buf, task->size, task->ret_read, TRUE); send_request_complete(req, res == ERROR_SUCCESS, res); }
@@ -2904,7 +2910,7 @@ static DWORD HTTPREQ_ReadFileEx(object_header_t *hdr, void *buf, DWORD size, DWO
if (hdr->dwFlags & INTERNET_FLAG_ASYNC) { - WORKREQUEST *task; + read_file_ex_task_t *task;
if (TryEnterCriticalSection( &req->read_section )) { @@ -2918,11 +2924,11 @@ static DWORD HTTPREQ_ReadFileEx(object_header_t *hdr, void *buf, DWORD size, DWO }
task = alloc_async_task(&req->hdr, AsyncReadFileExProc, sizeof(*task)); - task->u.HttpReadFileEx.buf = buf; - task->u.HttpReadFileEx.size = size; - task->u.HttpReadFileEx.ret_read = ret_read; + task->buf = buf; + task->size = size; + task->ret_read = ret_read;
- INTERNET_AsyncCall(task); + INTERNET_AsyncCall(&task->hdr);
return ERROR_IO_PENDING; } diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h index 4b39070..a9c52e0 100644 --- a/dlls/wininet/internet.h +++ b/dlls/wininet/internet.h @@ -441,13 +441,6 @@ struct WORKREQ_SENDCALLBACK DWORD dwStatusInfoLength; };
-struct WORKREQ_HTTPREADFILEEX -{ - void *buf; - DWORD size; - DWORD *ret_read; -}; - typedef struct WORKREQ task_header_t; typedef void (*async_task_proc_t)(task_header_t*);
@@ -470,7 +463,6 @@ typedef struct WORKREQ struct WORKREQ_FTPFINDNEXTW FtpFindNextW; struct WORKREQ_HTTPENDREQUESTW HttpEndRequestW; struct WORKREQ_SENDCALLBACK SendCallback; - struct WORKREQ_HTTPREADFILEEX HttpReadFileEx; } u; } WORKREQUEST, *LPWORKREQUEST;