Hans Leidekker : wininet: Don't start reading when POST data hasn' t been completely written.
Module: wine Branch: master Commit: 3a711fb56b394ffcaf1777c18b3325b4232abefe URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a711fb56b394ffcaf1777c18b... Author: Hans Leidekker <hans(a)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();
participants (1)
-
Alexandre Julliard