Module: wine Branch: master Commit: 3a711fb56b394ffcaf1777c18b3325b4232abefe URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a711fb56b394ffcaf1777c18b...
Author: Hans Leidekker hans@meelstraat.net Date: Wed Apr 8 15:22:26 2009 +0200
wininet: Don't start reading when POST data hasn't been completely written.
---
dlls/wininet/http.c | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index c35badc..3777d4c 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -3513,10 +3513,23 @@ lend:
/* TODO: send notification for P3P header */
- if(lpwhr->lpHttpSession->lpAppInfo->hdr.dwFlags & INTERNET_FLAG_ASYNC) { - if(bSuccess) { - HTTP_ReceiveRequestData(lpwhr, TRUE); - }else { + if (lpwhr->lpHttpSession->lpAppInfo->hdr.dwFlags & INTERNET_FLAG_ASYNC) + { + if (bSuccess) + { + if (lpwhr->dwBytesWritten == lpwhr->dwBytesToWrite) HTTP_ReceiveRequestData(lpwhr, TRUE); + else + { + iar.dwResult = (DWORD_PTR)lpwhr->hdr.hInternet; + iar.dwError = 0; + + INTERNET_SendCallback(&lpwhr->hdr, lpwhr->hdr.dwContext, + INTERNET_STATUS_REQUEST_COMPLETE, &iar, + sizeof(INTERNET_ASYNC_RESULT)); + } + } + else + { iar.dwResult = (DWORD_PTR)lpwhr->hdr.hInternet; iar.dwError = INTERNET_GetLastError();