Module: wine Branch: master Commit: d7f54676526454bfe2eefe0d26f66f6a292f71d9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d7f54676526454bfe2eefe0d26...
Author: Hans Leidekker hans@codeweavers.com Date: Tue Aug 26 11:04:22 2008 +0200
winhttp: Implement WinHttpQueryDataAvailable.
---
dlls/winhttp/main.c | 11 ----------- dlls/winhttp/request.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/dlls/winhttp/main.c b/dlls/winhttp/main.c index a87d5ab..82f0a61 100644 --- a/dlls/winhttp/main.c +++ b/dlls/winhttp/main.c @@ -95,17 +95,6 @@ BOOL WINAPI WinHttpQueryOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBu }
/*********************************************************************** - * WinHttpQueryDataAvailable (winhttp.@) - */ -BOOL WINAPI WinHttpQueryDataAvailable (HINTERNET hInternet, LPDWORD lpdwNumberOfBytesAvailable) -{ - FIXME("stub\n"); - - SetLastError(ERROR_NOT_SUPPORTED); - return FALSE; -} - -/*********************************************************************** * WinHttpSetOption (winhttp.@) */ BOOL WINAPI WinHttpSetOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength) diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c index 954f576..14b57cc 100644 --- a/dlls/winhttp/request.c +++ b/dlls/winhttp/request.c @@ -948,3 +948,31 @@ BOOL WINAPI WinHttpReceiveResponse( HINTERNET hrequest, LPVOID reserved ) release_object( &request->hdr ); return ret; } + +/*********************************************************************** + * WinHttpQueryDataAvailable (winhttp.@) + */ +BOOL WINAPI WinHttpQueryDataAvailable( HINTERNET hrequest, LPDWORD available ) +{ + BOOL ret; + request_t *request; + + TRACE("%p, %p\n", hrequest, available); + + if (!(request = (request_t *)grab_object( hrequest ))) + { + set_last_error( ERROR_INVALID_HANDLE ); + return FALSE; + } + if (request->hdr.type != WINHTTP_HANDLE_TYPE_REQUEST) + { + release_object( &request->hdr ); + set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE ); + return FALSE; + } + + ret = netconn_query_data_available( &request->netconn, available ); + + release_object( &request->hdr ); + return ret; +}