Wine-devel
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
November 2018
- 75 participants
- 771 discussions
22 Nov '18
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/winhttp/tests/winhttp.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
index 70d0b4c747..4779cfd1a7 100644
--- a/dlls/winhttp/tests/winhttp.c
+++ b/dlls/winhttp/tests/winhttp.c
@@ -1198,11 +1198,6 @@ static void test_request_parameter_defaults(void)
ok(ret, "failed to send request %u\n", GetLastError());
ret = WinHttpReceiveResponse(req, NULL);
- if (!ret && GetLastError() == ERROR_WINHTTP_INVALID_SERVER_RESPONSE) /* win2k */
- {
- win_skip("invalid response\n");
- goto done;
- }
ok(ret, "failed to receive response %u\n", GetLastError());
status = 0xdeadbeef;
@@ -4420,14 +4415,12 @@ static void test_WinHttpDetectAutoProxyConfigUrl(void)
WCHAR *url;
DWORD error;
-if (0) /* crashes on some win2k systems */
-{
SetLastError(0xdeadbeef);
ret = WinHttpDetectAutoProxyConfigUrl( 0, NULL );
error = GetLastError();
ok( !ret, "expected failure\n" );
ok( error == ERROR_INVALID_PARAMETER, "got %u\n", error );
-}
+
url = NULL;
SetLastError(0xdeadbeef);
ret = WinHttpDetectAutoProxyConfigUrl( 0, &url );
@@ -4435,14 +4428,12 @@ if (0) /* crashes on some win2k systems */
ok( !ret, "expected failure\n" );
ok( error == ERROR_INVALID_PARAMETER, "got %u\n", error );
-if (0) /* crashes on some win2k systems */
-{
SetLastError(0xdeadbeef);
ret = WinHttpDetectAutoProxyConfigUrl( WINHTTP_AUTO_DETECT_TYPE_DNS_A, NULL );
error = GetLastError();
ok( !ret, "expected failure\n" );
ok( error == ERROR_INVALID_PARAMETER, "got %u\n", error );
-}
+
url = (WCHAR *)0xdeadbeef;
SetLastError(0xdeadbeef);
ret = WinHttpDetectAutoProxyConfigUrl( WINHTTP_AUTO_DETECT_TYPE_DNS_A, &url );
--
2.11.0
1
0
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/winhttp/net.c | 8 +--
dlls/winhttp/request.c | 146 +++++++++++++++++++--------------------
dlls/winhttp/session.c | 152 +++++++++++++++++++----------------------
dlls/winhttp/url.c | 24 +++----
dlls/winhttp/winhttp_private.h | 2 -
5 files changed, 159 insertions(+), 173 deletions(-)
diff --git a/dlls/winhttp/net.c b/dlls/winhttp/net.c
index 004933ff81..af1d19d212 100644
--- a/dlls/winhttp/net.c
+++ b/dlls/winhttp/net.c
@@ -225,7 +225,7 @@ struct netconn *netconn_create( struct hostdata *host, const struct sockaddr_sto
FD_ZERO( &set );
FD_SET( conn->socket, &set );
if ((res = select( conn->socket + 1, NULL, &set, NULL, &timeval )) > 0) ret = TRUE;
- else if (!res) set_last_error( ERROR_WINHTTP_TIMEOUT );
+ else if (!res) SetLastError( ERROR_WINHTTP_TIMEOUT );
}
}
@@ -233,7 +233,7 @@ struct netconn *netconn_create( struct hostdata *host, const struct sockaddr_sto
if (!ret)
{
- WARN("unable to connect to host (%u)\n", get_last_error());
+ WARN("unable to connect to host (%u)\n", GetLastError());
closesocket( conn->socket );
heap_free( conn );
return NULL;
@@ -378,7 +378,7 @@ BOOL netconn_secure_connect( struct netconn *conn, WCHAR *hostname, DWORD securi
heap_free(conn->ssl_buf);
conn->ssl_buf = NULL;
DeleteSecurityContext(&ctx);
- set_last_error(res ? res : ERROR_WINHTTP_SECURE_CHANNEL_ERROR);
+ SetLastError(res ? res : ERROR_WINHTTP_SECURE_CHANNEL_ERROR);
return FALSE;
}
@@ -690,7 +690,7 @@ BOOL netconn_resolve( WCHAR *hostname, INTERNET_PORT port, struct sockaddr_stora
if (ret)
{
- set_last_error( ret );
+ SetLastError( ret );
return FALSE;
}
return TRUE;
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 0f37f38422..54173f1ff4 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -420,7 +420,7 @@ static BOOL process_header( struct request *request, const WCHAR *field, const W
}
else if (!(flags & WINHTTP_ADDREQ_FLAG_ADD))
{
- set_last_error( ERROR_WINHTTP_HEADER_NOT_FOUND );
+ SetLastError( ERROR_WINHTTP_HEADER_NOT_FOUND );
return FALSE;
}
@@ -520,25 +520,25 @@ BOOL WINAPI WinHttpAddRequestHeaders( HINTERNET hrequest, LPCWSTR headers, DWORD
if (!headers || !len)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
ret = add_request_headers( request, headers, len, flags );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -652,7 +652,7 @@ static BOOL query_headers( struct request *request, DWORD level, const WCHAR *na
for (len = 0; *p; p++) if (*p != '\r') len++;
if (!buffer || len * sizeof(WCHAR) > *buflen)
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
else
{
for (p = headers, q = buffer; *p; p++, q++)
@@ -686,7 +686,7 @@ static BOOL query_headers( struct request *request, DWORD level, const WCHAR *na
if (!buffer || len + sizeof(WCHAR) > *buflen)
{
len += sizeof(WCHAR);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
}
else
{
@@ -703,7 +703,7 @@ static BOOL query_headers( struct request *request, DWORD level, const WCHAR *na
if (!buffer || len + sizeof(WCHAR) > *buflen)
{
len += sizeof(WCHAR);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
}
else
{
@@ -719,7 +719,7 @@ static BOOL query_headers( struct request *request, DWORD level, const WCHAR *na
if (!buffer || len + sizeof(WCHAR) > *buflen)
{
len += sizeof(WCHAR);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
}
else
{
@@ -747,14 +747,14 @@ static BOOL query_headers( struct request *request, DWORD level, const WCHAR *na
}
if (!header || (request_only && !header->is_request))
{
- set_last_error( ERROR_WINHTTP_HEADER_NOT_FOUND );
+ SetLastError( ERROR_WINHTTP_HEADER_NOT_FOUND );
return FALSE;
}
if (level & WINHTTP_QUERY_FLAG_NUMBER)
{
if (!buffer || sizeof(int) > *buflen)
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
}
else
{
@@ -770,7 +770,7 @@ static BOOL query_headers( struct request *request, DWORD level, const WCHAR *na
SYSTEMTIME *st = buffer;
if (!buffer || sizeof(SYSTEMTIME) > *buflen)
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
}
else if ((ret = WinHttpTimeToSystemTime( header->value, st )))
{
@@ -786,7 +786,7 @@ static BOOL query_headers( struct request *request, DWORD level, const WCHAR *na
if (!buffer || len + sizeof(WCHAR) > *buflen)
{
len += sizeof(WCHAR);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
}
else
{
@@ -812,20 +812,20 @@ BOOL WINAPI WinHttpQueryHeaders( HINTERNET hrequest, DWORD level, LPCWSTR name,
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
ret = query_headers( request, level, name, buffer, buflen, index );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -882,7 +882,7 @@ static BOOL query_auth_schemes( struct request *request, DWORD level, DWORD *sup
size = 0;
query_headers( request, level, NULL, NULL, &size, &index );
- if (get_last_error() != ERROR_INSUFFICIENT_BUFFER) break;
+ if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) break;
if (!(buffer = heap_alloc( size ))) return FALSE;
if (!query_headers( request, level, NULL, buffer, &size, &index ))
@@ -920,19 +920,19 @@ BOOL WINAPI WinHttpQueryAuthSchemes( HINTERNET hrequest, LPDWORD supported, LPDW
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
if (!supported || !first || !target)
{
release_object( &request->hdr );
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -947,10 +947,10 @@ BOOL WINAPI WinHttpQueryAuthSchemes( HINTERNET hrequest, LPDWORD supported, LPDW
*target = WINHTTP_AUTH_TARGET_PROXY;
ret = TRUE;
}
- else set_last_error( ERROR_INVALID_OPERATION );
+ else SetLastError( ERROR_INVALID_OPERATION );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2255,7 +2255,7 @@ end:
{
WINHTTP_ASYNC_RESULT result;
result.dwResult = API_SEND_REQUEST;
- result.dwError = get_last_error();
+ result.dwError = GetLastError();
send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_REQUEST_ERROR, &result, sizeof(result) );
}
}
@@ -2283,13 +2283,13 @@ BOOL WINAPI WinHttpSendRequest( HINTERNET hrequest, LPCWSTR headers, DWORD heade
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
@@ -2316,7 +2316,7 @@ BOOL WINAPI WinHttpSendRequest( HINTERNET hrequest, LPCWSTR headers, DWORD heade
ret = send_request( request, headers, headers_len, optional, optional_len, total_len, context, FALSE );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2327,7 +2327,7 @@ static BOOL set_credentials( struct request *request, DWORD target, DWORD scheme
if (scheme == SCHEME_INVALID || ((scheme == SCHEME_BASIC || scheme == SCHEME_DIGEST) && (!username || !password)))
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
switch (target)
@@ -2374,20 +2374,20 @@ BOOL WINAPI WinHttpSetCredentials( HINTERNET hrequest, DWORD target, DWORD schem
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
ret = set_credentials( request, target, scheme, username, password );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2612,7 +2612,7 @@ static WCHAR *get_redirect_url( struct request *request, DWORD *len )
WCHAR *ret;
query_headers( request, WINHTTP_QUERY_LOCATION, NULL, NULL, &size, NULL );
- if (get_last_error() != ERROR_INSUFFICIENT_BUFFER) return FALSE;
+ if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return FALSE;
if (!(ret = heap_alloc( size ))) return NULL;
*len = size / sizeof(WCHAR) - 1;
if (query_headers( request, WINHTTP_QUERY_LOCATION, NULL, ret, &size, NULL )) return ret;
@@ -2741,7 +2741,7 @@ static BOOL receive_response( struct request *request, BOOL async )
{
if (!(ret = read_reply( request )))
{
- set_last_error( ERROR_WINHTTP_INVALID_SERVER_RESPONSE );
+ SetLastError( ERROR_WINHTTP_INVALID_SERVER_RESPONSE );
break;
}
size = sizeof(DWORD);
@@ -2784,7 +2784,7 @@ static BOOL receive_response( struct request *request, BOOL async )
{
WINHTTP_ASYNC_RESULT result;
result.dwResult = API_RECEIVE_RESPONSE;
- result.dwError = get_last_error();
+ result.dwError = GetLastError();
send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_REQUEST_ERROR, &result, sizeof(result) );
}
}
@@ -2809,13 +2809,13 @@ BOOL WINAPI WinHttpReceiveResponse( HINTERNET hrequest, LPVOID reserved )
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
@@ -2834,7 +2834,7 @@ BOOL WINAPI WinHttpReceiveResponse( HINTERNET hrequest, LPVOID reserved )
ret = receive_response( request, FALSE );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2880,13 +2880,13 @@ BOOL WINAPI WinHttpQueryDataAvailable( HINTERNET hrequest, LPDWORD available )
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
@@ -2906,7 +2906,7 @@ BOOL WINAPI WinHttpQueryDataAvailable( HINTERNET hrequest, LPDWORD available )
ret = query_data_available( request, available, FALSE );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2928,13 +2928,13 @@ BOOL WINAPI WinHttpReadData( HINTERNET hrequest, LPVOID buffer, DWORD to_read, L
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
@@ -2956,7 +2956,7 @@ BOOL WINAPI WinHttpReadData( HINTERNET hrequest, LPVOID buffer, DWORD to_read, L
ret = read_data( request, buffer, to_read, read, FALSE );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2974,7 +2974,7 @@ static BOOL write_data( struct request *request, const void *buffer, DWORD to_wr
{
WINHTTP_ASYNC_RESULT result;
result.dwResult = API_WRITE_DATA;
- result.dwError = get_last_error();
+ result.dwError = GetLastError();
send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_REQUEST_ERROR, &result, sizeof(result) );
}
}
@@ -3000,13 +3000,13 @@ BOOL WINAPI WinHttpWriteData( HINTERNET hrequest, LPCVOID buffer, DWORD to_write
if (!(request = (struct request *)grab_object( hrequest )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( 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 );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
@@ -3028,7 +3028,7 @@ BOOL WINAPI WinHttpWriteData( HINTERNET hrequest, LPCVOID buffer, DWORD to_write
ret = write_data( request, buffer, to_write, written, FALSE );
release_object( &request->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -3429,7 +3429,7 @@ static HRESULT WINAPI winhttp_request_SetCredentials(
}
if (!WinHttpSetCredentials( request->hrequest, target, scheme, username, password, NULL ))
{
- err = get_last_error();
+ err = GetLastError();
}
done:
LeaveCriticalSection( &request->cs );
@@ -3515,7 +3515,7 @@ static HRESULT WINAPI winhttp_request_Open(
uc.dwHostNameLength = ~0u;
uc.dwUrlPathLength = ~0u;
uc.dwExtraInfoLength = ~0u;
- if (!WinHttpCrackUrl( url, 0, 0, &uc )) return HRESULT_FROM_WIN32( get_last_error() );
+ if (!WinHttpCrackUrl( url, 0, 0, &uc )) return HRESULT_FROM_WIN32( GetLastError() );
EnterCriticalSection( &request->cs );
if (request->state < REQUEST_STATE_INITIALIZED) initialize_request( request );
@@ -3538,20 +3538,20 @@ static HRESULT WINAPI winhttp_request_Open(
if (!(request->hsession = WinHttpOpen( user_agentW, WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, NULL, NULL,
WINHTTP_FLAG_ASYNC )))
{
- err = get_last_error();
+ err = GetLastError();
goto error;
}
if (!(request->hconnect = WinHttpConnect( request->hsession, hostname, uc.nPort, 0 )))
{
WinHttpCloseHandle( request->hsession );
request->hsession = NULL;
- err = get_last_error();
+ err = GetLastError();
goto error;
}
}
else if (!(request->hconnect = WinHttpConnect( request->hsession, hostname, uc.nPort, 0 )))
{
- err = get_last_error();
+ err = GetLastError();
goto error;
}
@@ -3562,7 +3562,7 @@ static HRESULT WINAPI winhttp_request_Open(
}
if (!(request->hrequest = WinHttpOpenRequest( request->hconnect, method, path, NULL, NULL, acceptW, flags )))
{
- err = get_last_error();
+ err = GetLastError();
goto error;
}
WinHttpSetOption( request->hrequest, WINHTTP_OPTION_CONTEXT_VALUE, &request, sizeof(request) );
@@ -3621,7 +3621,7 @@ static HRESULT WINAPI winhttp_request_SetRequestHeader(
if (!WinHttpAddRequestHeaders( request->hrequest, str, len,
WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE ))
{
- err = get_last_error();
+ err = GetLastError();
}
heap_free( str );
@@ -3654,7 +3654,7 @@ static HRESULT WINAPI winhttp_request_GetResponseHeader(
size = 0;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_CUSTOM, header, NULL, &size, NULL ))
{
- err = get_last_error();
+ err = GetLastError();
if (err != ERROR_INSUFFICIENT_BUFFER) goto done;
}
if (!(*value = SysAllocStringLen( NULL, size / sizeof(WCHAR) )))
@@ -3665,7 +3665,7 @@ static HRESULT WINAPI winhttp_request_GetResponseHeader(
err = ERROR_SUCCESS;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_CUSTOM, header, *value, &size, NULL ))
{
- err = get_last_error();
+ err = GetLastError();
SysFreeString( *value );
}
done:
@@ -3693,7 +3693,7 @@ static HRESULT WINAPI winhttp_request_GetAllResponseHeaders(
size = 0;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_RAW_HEADERS_CRLF, NULL, NULL, &size, NULL ))
{
- err = get_last_error();
+ err = GetLastError();
if (err != ERROR_INSUFFICIENT_BUFFER) goto done;
}
if (!(*headers = SysAllocStringLen( NULL, size / sizeof(WCHAR) )))
@@ -3704,7 +3704,7 @@ static HRESULT WINAPI winhttp_request_GetAllResponseHeaders(
err = ERROR_SUCCESS;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_RAW_HEADERS_CRLF, NULL, *headers, &size, NULL ))
{
- err = get_last_error();
+ err = GetLastError();
SysFreeString( *headers );
}
done:
@@ -3755,7 +3755,7 @@ static DWORD wait_for_completion( struct winhttp_request *request )
request->error = ERROR_CANCELLED;
break;
default:
- request->error = get_last_error();
+ request->error = GetLastError();
break;
}
return request->error;
@@ -3768,7 +3768,7 @@ static HRESULT request_receive( struct winhttp_request *request )
wait_set_status_callback( request, WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE );
if (!WinHttpReceiveResponse( request->hrequest, NULL ))
{
- return HRESULT_FROM_WIN32( get_last_error() );
+ return HRESULT_FROM_WIN32( GetLastError() );
}
if ((err = wait_for_completion( request ))) return HRESULT_FROM_WIN32( err );
if (!strcmpW( request->verb, headW ))
@@ -3784,7 +3784,7 @@ static HRESULT request_receive( struct winhttp_request *request )
wait_set_status_callback( request, WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE );
if (!WinHttpQueryDataAvailable( request->hrequest, &request->bytes_available ))
{
- err = get_last_error();
+ err = GetLastError();
goto error;
}
if ((err = wait_for_completion( request ))) goto error;
@@ -3805,7 +3805,7 @@ static HRESULT request_receive( struct winhttp_request *request )
if (!WinHttpReadData( request->hrequest, request->buffer + request->offset,
request->bytes_available, &request->bytes_read ))
{
- err = get_last_error();
+ err = GetLastError();
goto error;
}
if ((err = wait_for_completion( request ))) goto error;
@@ -3824,19 +3824,19 @@ error:
static DWORD request_set_parameters( struct winhttp_request *request )
{
if (!WinHttpSetOption( request->hrequest, WINHTTP_OPTION_PROXY, &request->proxy,
- sizeof(request->proxy) )) return get_last_error();
+ sizeof(request->proxy) )) return GetLastError();
if (!WinHttpSetOption( request->hrequest, WINHTTP_OPTION_AUTOLOGON_POLICY, &request->logon_policy,
- sizeof(request->logon_policy) )) return get_last_error();
+ sizeof(request->logon_policy) )) return GetLastError();
if (!WinHttpSetOption( request->hrequest, WINHTTP_OPTION_DISABLE_FEATURE, &request->disable_feature,
- sizeof(request->disable_feature) )) return get_last_error();
+ sizeof(request->disable_feature) )) return GetLastError();
if (!WinHttpSetTimeouts( request->hrequest,
request->resolve_timeout,
request->connect_timeout,
request->send_timeout,
- request->receive_timeout )) return get_last_error();
+ request->receive_timeout )) return GetLastError();
return ERROR_SUCCESS;
}
@@ -3901,7 +3901,7 @@ static HRESULT request_send( struct winhttp_request *request )
wait_set_status_callback( request, WINHTTP_CALLBACK_STATUS_REQUEST_SENT );
if (!WinHttpSendRequest( request->hrequest, NULL, 0, ptr, size, size, 0 ))
{
- err = get_last_error();
+ err = GetLastError();
goto error;
}
if ((err = wait_for_completion( request ))) goto error;
@@ -3955,7 +3955,7 @@ static DWORD request_wait( struct winhttp_request *request, DWORD timeout )
break;
case WAIT_FAILED:
default:
- ret = get_last_error();
+ ret = GetLastError();
break;
}
EnterCriticalSection( &request->cs );
@@ -3991,7 +3991,7 @@ static HRESULT WINAPI winhttp_request_Send(
if (!(request->thread = CreateThread( NULL, 0, send_and_receive_proc, request, 0, NULL )))
{
LeaveCriticalSection( &request->cs );
- return HRESULT_FROM_WIN32( get_last_error() );
+ return HRESULT_FROM_WIN32( GetLastError() );
}
request->wait = CreateEventW( NULL, FALSE, FALSE, NULL );
request->cancel = CreateEventW( NULL, FALSE, FALSE, NULL );
@@ -4023,7 +4023,7 @@ static HRESULT WINAPI winhttp_request_get_Status(
flags = WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER;
if (!WinHttpQueryHeaders( request->hrequest, flags, NULL, &status_code, &len, &index ))
{
- err = get_last_error();
+ err = GetLastError();
goto done;
}
*status = status_code;
@@ -4052,7 +4052,7 @@ static HRESULT WINAPI winhttp_request_get_StatusText(
}
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_STATUS_TEXT, NULL, NULL, &len, &index ))
{
- err = get_last_error();
+ err = GetLastError();
if (err != ERROR_INSUFFICIENT_BUFFER) goto done;
}
if (!(*status = SysAllocStringLen( NULL, len / sizeof(WCHAR) )))
@@ -4064,7 +4064,7 @@ static HRESULT WINAPI winhttp_request_get_StatusText(
err = ERROR_SUCCESS;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_STATUS_TEXT, NULL, *status, &len, &index ))
{
- err = get_last_error();
+ err = GetLastError();
SysFreeString( *status );
}
done:
@@ -4081,12 +4081,12 @@ static DWORD request_get_codepage( struct winhttp_request *request, UINT *codepa
*codepage = CP_ACP;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_CONTENT_TYPE, NULL, NULL, &size, NULL ) &&
- get_last_error() == ERROR_INSUFFICIENT_BUFFER)
+ GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
if (!(buffer = heap_alloc( size ))) return ERROR_OUTOFMEMORY;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_CONTENT_TYPE, NULL, buffer, &size, NULL ))
{
- return get_last_error();
+ return GetLastError();
}
if ((p = strstrW( buffer, charsetW )))
{
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index 8b3f9f51b2..2051d4282b 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -52,18 +52,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(winhttp);
#define DEFAULT_RECEIVE_TIMEOUT 30000
#define DEFAULT_RECEIVE_RESPONSE_TIMEOUT ~0u
-void set_last_error( DWORD error )
-{
- /* FIXME */
- SetLastError( error );
-}
-
-DWORD get_last_error( void )
-{
- /* FIXME */
- return GetLastError();
-}
-
void send_callback( struct object_header *hdr, DWORD status, void *info, DWORD buflen )
{
if (hdr->callback && (hdr->notify_mask & status))
@@ -117,7 +105,7 @@ static BOOL session_query_option( struct object_header *hdr, DWORD option, void
if (!buffer || *buflen < sizeof(DWORD))
{
*buflen = sizeof(DWORD);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -152,7 +140,7 @@ static BOOL session_query_option( struct object_header *hdr, DWORD option, void
default:
FIXME("unimplemented option %u\n", option);
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
}
@@ -176,7 +164,7 @@ static BOOL session_set_option( struct object_header *hdr, DWORD option, void *b
if (buflen != sizeof(policy))
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -189,7 +177,7 @@ static BOOL session_set_option( struct object_header *hdr, DWORD option, void *b
{
if (buflen != sizeof(session->secure_protocols))
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
EnterCriticalSection( &session->cs );
@@ -199,7 +187,7 @@ static BOOL session_set_option( struct object_header *hdr, DWORD option, void *b
return TRUE;
}
case WINHTTP_OPTION_DISABLE_FEATURE:
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
case WINHTTP_OPTION_RESOLVE_TIMEOUT:
@@ -241,7 +229,7 @@ static BOOL session_set_option( struct object_header *hdr, DWORD option, void *b
default:
FIXME("unimplemented option %u\n", option);
- set_last_error( ERROR_WINHTTP_INVALID_OPTION );
+ SetLastError( ERROR_WINHTTP_INVALID_OPTION );
return FALSE;
}
}
@@ -313,7 +301,7 @@ HINTERNET WINAPI WinHttpOpen( LPCWSTR agent, DWORD access, LPCWSTR proxy, LPCWST
end:
release_object( &session->hdr );
TRACE("returning %p\n", handle);
- if (handle) set_last_error( ERROR_SUCCESS );
+ if (handle) SetLastError( ERROR_SUCCESS );
return handle;
}
@@ -346,7 +334,7 @@ static BOOL connect_query_option( struct object_header *hdr, DWORD option, void
if (!buffer || *buflen < sizeof(HINTERNET))
{
*buflen = sizeof(HINTERNET);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -381,7 +369,7 @@ static BOOL connect_query_option( struct object_header *hdr, DWORD option, void
default:
FIXME("unimplemented option %u\n", option);
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
}
@@ -553,18 +541,18 @@ HINTERNET WINAPI WinHttpConnect( HINTERNET hsession, LPCWSTR server, INTERNET_PO
if (!server)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return NULL;
}
if (!(session = (struct session *)grab_object( hsession )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return NULL;
}
if (session->hdr.type != WINHTTP_HANDLE_TYPE_SESSION)
{
release_object( &session->hdr );
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return NULL;
}
if (!(connect = heap_alloc_zero( sizeof(struct connect) )))
@@ -599,7 +587,7 @@ end:
release_object( &connect->hdr );
release_object( &session->hdr );
TRACE("returning %p\n", hconnect);
- if (hconnect) set_last_error( ERROR_SUCCESS );
+ if (hconnect) SetLastError( ERROR_SUCCESS );
return hconnect;
}
@@ -718,7 +706,7 @@ static BOOL request_query_option( struct object_header *hdr, DWORD option, void
if (!buffer || *buflen < sizeof(flags))
{
*buflen = sizeof(flags);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -746,7 +734,7 @@ static BOOL request_query_option( struct object_header *hdr, DWORD option, void
if (!buffer || *buflen < sizeof(cert))
{
*buflen = sizeof(cert);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -766,7 +754,7 @@ static BOOL request_query_option( struct object_header *hdr, DWORD option, void
if (!buffer || *buflen < sizeof(*ci))
{
*buflen = sizeof(*ci);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
if (!cert) return FALSE;
@@ -792,7 +780,7 @@ static BOOL request_query_option( struct object_header *hdr, DWORD option, void
if (!buffer || *buflen < sizeof(DWORD))
{
*buflen = sizeof(DWORD);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -810,12 +798,12 @@ static BOOL request_query_option( struct object_header *hdr, DWORD option, void
if (!buffer || *buflen < sizeof(*info))
{
*buflen = sizeof(*info);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
if (!request->netconn)
{
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_STATE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_STATE );
return FALSE;
}
if (getsockname( request->netconn->socket, &local, &len )) return FALSE;
@@ -867,7 +855,7 @@ static BOOL request_query_option( struct object_header *hdr, DWORD option, void
default:
FIXME("unimplemented option %u\n", option);
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
}
@@ -881,7 +869,7 @@ static WCHAR *buffer_to_str( WCHAR *buffer, DWORD buflen )
ret[buflen] = 0;
return ret;
}
- set_last_error( ERROR_OUTOFMEMORY );
+ SetLastError( ERROR_OUTOFMEMORY );
return NULL;
}
@@ -904,7 +892,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
if (buflen != sizeof(DWORD))
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -919,7 +907,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
if (buflen != sizeof(DWORD))
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -934,7 +922,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
if (buflen != sizeof(DWORD))
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -949,7 +937,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
if (buflen < sizeof(DWORD))
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
flags = *(DWORD *)buffer;
@@ -959,7 +947,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
SECURITY_FLAG_IGNORE_UNKNOWN_CA |
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE)))
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
request->security_flags = flags;
@@ -1045,7 +1033,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
default:
FIXME("unimplemented option %u\n", option);
- set_last_error( ERROR_WINHTTP_INVALID_OPTION );
+ SetLastError( ERROR_WINHTTP_INVALID_OPTION );
return FALSE;
}
}
@@ -1125,13 +1113,13 @@ HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR o
if (!(connect = (struct connect *)grab_object( hconnect )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return NULL;
}
if (connect->hdr.type != WINHTTP_HANDLE_TYPE_CONNECT)
{
release_object( &connect->hdr );
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return NULL;
}
if (!(request = heap_alloc_zero( sizeof(struct request) )))
@@ -1177,7 +1165,7 @@ end:
release_object( &request->hdr );
release_object( &connect->hdr );
TRACE("returning %p\n", hrequest);
- if (hrequest) set_last_error( ERROR_SUCCESS );
+ if (hrequest) SetLastError( ERROR_SUCCESS );
return hrequest;
}
@@ -1192,12 +1180,12 @@ BOOL WINAPI WinHttpCloseHandle( HINTERNET handle )
if (!(hdr = grab_object( handle )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return FALSE;
}
release_object( hdr );
free_handle( handle );
- set_last_error( ERROR_SUCCESS );
+ SetLastError( ERROR_SUCCESS );
return TRUE;
}
@@ -1207,7 +1195,7 @@ static BOOL query_option( struct object_header *hdr, DWORD option, void *buffer,
if (!buflen)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -1218,7 +1206,7 @@ static BOOL query_option( struct object_header *hdr, DWORD option, void *buffer,
if (!buffer || *buflen < sizeof(DWORD_PTR))
{
*buflen = sizeof(DWORD_PTR);
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -1231,7 +1219,7 @@ static BOOL query_option( struct object_header *hdr, DWORD option, void *buffer,
else
{
FIXME("unimplemented option %u\n", option);
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
break;
@@ -1251,14 +1239,14 @@ BOOL WINAPI WinHttpQueryOption( HINTERNET handle, DWORD option, LPVOID buffer, L
if (!(hdr = grab_object( handle )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return FALSE;
}
ret = query_option( hdr, option, buffer, buflen );
release_object( hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -1268,7 +1256,7 @@ static BOOL set_option( struct object_header *hdr, DWORD option, void *buffer, D
if (!buffer && buflen)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -1278,7 +1266,7 @@ static BOOL set_option( struct object_header *hdr, DWORD option, void *buffer, D
{
if (buflen != sizeof(DWORD_PTR))
{
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
@@ -1290,7 +1278,7 @@ static BOOL set_option( struct object_header *hdr, DWORD option, void *buffer, D
else
{
FIXME("unimplemented option %u\n", option);
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
break;
@@ -1310,14 +1298,14 @@ BOOL WINAPI WinHttpSetOption( HINTERNET handle, DWORD option, LPVOID buffer, DWO
if (!(hdr = grab_object( handle )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return FALSE;
}
ret = set_option( hdr, option, buffer, buflen );
release_object( hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -1421,7 +1409,7 @@ BOOL WINAPI WinHttpDetectAutoProxyConfigUrl( DWORD flags, LPWSTR *url )
if (!flags || !url)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (get_system_proxy_autoconfig_url( system_url, sizeof(system_url) ))
@@ -1430,7 +1418,7 @@ BOOL WINAPI WinHttpDetectAutoProxyConfigUrl( DWORD flags, LPWSTR *url )
if (!(urlW = strdupAW( system_url ))) return FALSE;
*url = urlW;
- set_last_error( ERROR_SUCCESS );
+ SetLastError( ERROR_SUCCESS );
return TRUE;
}
if (flags & WINHTTP_AUTO_DETECT_TYPE_DHCP)
@@ -1484,10 +1472,10 @@ BOOL WINAPI WinHttpDetectAutoProxyConfigUrl( DWORD flags, LPWSTR *url )
}
if (!ret)
{
- set_last_error( ERROR_WINHTTP_AUTODETECTION_FAILED );
+ SetLastError( ERROR_WINHTTP_AUTODETECTION_FAILED );
*url = NULL;
}
- else set_last_error( ERROR_SUCCESS );
+ else SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -1646,7 +1634,7 @@ BOOL WINAPI WinHttpGetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
info->lpszProxy = NULL;
info->lpszProxyBypass = NULL;
}
- set_last_error( ERROR_SUCCESS );
+ SetLastError( ERROR_SUCCESS );
return TRUE;
}
@@ -1666,7 +1654,7 @@ BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser( WINHTTP_CURRENT_USER_IE_PROXY
if (!config)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
memset( config, 0, sizeof(*config) );
@@ -1729,7 +1717,7 @@ done:
GlobalFree( config->lpszProxyBypass );
config->lpszProxyBypass = NULL;
}
- else set_last_error( ERROR_SUCCESS );
+ else SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -1823,7 +1811,7 @@ done:
WinHttpCloseHandle( con );
WinHttpCloseHandle( ses );
heap_free( hostname );
- if (!buffer) set_last_error( ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT );
+ if (!buffer) SetLastError( ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT );
return buffer;
}
@@ -1895,13 +1883,13 @@ BOOL WINAPI WinHttpGetProxyForUrl( HINTERNET hsession, LPCWSTR url, WINHTTP_AUTO
if (!(session = (struct session *)grab_object( hsession )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return FALSE;
}
if (session->hdr.type != WINHTTP_HANDLE_TYPE_SESSION)
{
release_object( &session->hdr );
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return FALSE;
}
if (!url || !options || !info ||
@@ -1911,7 +1899,7 @@ BOOL WINAPI WinHttpGetProxyForUrl( HINTERNET hsession, LPCWSTR url, WINHTTP_AUTO
(options->dwFlags & WINHTTP_AUTOPROXY_CONFIG_URL)))
{
release_object( &session->hdr );
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (options->dwFlags & WINHTTP_AUTOPROXY_AUTO_DETECT &&
@@ -1930,7 +1918,7 @@ BOOL WINAPI WinHttpGetProxyForUrl( HINTERNET hsession, LPCWSTR url, WINHTTP_AUTO
done:
GlobalFree( detected_pac_url );
release_object( &session->hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -1948,7 +1936,7 @@ BOOL WINAPI WinHttpSetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
if (!info)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
switch (info->dwAccessType)
@@ -1958,14 +1946,14 @@ BOOL WINAPI WinHttpSetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
case WINHTTP_ACCESS_TYPE_NAMED_PROXY:
if (!info->lpszProxy)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
/* Only ASCII characters are allowed */
for (src = info->lpszProxy; *src; src++)
if (*src > 0x7f)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (info->lpszProxyBypass)
@@ -1973,13 +1961,13 @@ BOOL WINAPI WinHttpSetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
for (src = info->lpszProxyBypass; *src; src++)
if (*src > 0x7f)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
}
break;
default:
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -2038,7 +2026,7 @@ BOOL WINAPI WinHttpSetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
}
RegCloseKey( key );
}
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2055,7 +2043,7 @@ WINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback( HINTERNET handle, WINHT
if (!(hdr = grab_object( handle )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return WINHTTP_INVALID_STATUS_CALLBACK;
}
ret = hdr->callback;
@@ -2063,7 +2051,7 @@ WINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback( HINTERNET handle, WINHT
hdr->notify_mask = flags;
release_object( hdr );
- set_last_error( ERROR_SUCCESS );
+ SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2079,13 +2067,13 @@ BOOL WINAPI WinHttpSetTimeouts( HINTERNET handle, int resolve, int connect, int
if (resolve < -1 || connect < -1 || send < -1 || receive < -1)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (!(hdr = grab_object( handle )))
{
- set_last_error( ERROR_INVALID_HANDLE );
+ SetLastError( ERROR_INVALID_HANDLE );
return FALSE;
}
@@ -2128,11 +2116,11 @@ BOOL WINAPI WinHttpSetTimeouts( HINTERNET handle, int resolve, int connect, int
break;
}
default:
- set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
+ SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
ret = FALSE;
}
release_object( hdr );
- if (ret) set_last_error( ERROR_SUCCESS );
+ if (ret) SetLastError( ERROR_SUCCESS );
return ret;
}
@@ -2157,7 +2145,7 @@ BOOL WINAPI WinHttpTimeFromSystemTime( const SYSTEMTIME *time, LPWSTR string )
if (!time || !string)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -2170,7 +2158,7 @@ BOOL WINAPI WinHttpTimeFromSystemTime( const SYSTEMTIME *time, LPWSTR string )
time->wMinute,
time->wSecond );
- set_last_error( ERROR_SUCCESS );
+ SetLastError( ERROR_SUCCESS );
return TRUE;
}
@@ -2187,7 +2175,7 @@ BOOL WINAPI WinHttpTimeToSystemTime( LPCWSTR string, SYSTEMTIME *time )
if (!string || !time)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -2198,7 +2186,7 @@ BOOL WINAPI WinHttpTimeToSystemTime( LPCWSTR string, SYSTEMTIME *time )
* a SYSTEMTIME structure.
*/
- set_last_error( ERROR_SUCCESS );
+ SetLastError( ERROR_SUCCESS );
while (*s && !isalphaW( *s )) s++;
if (s[0] == '\0' || s[1] == '\0' || s[2] == '\0') return TRUE;
diff --git a/dlls/winhttp/url.c b/dlls/winhttp/url.c
index f66e5105ab..e6aeac3df2 100644
--- a/dlls/winhttp/url.c
+++ b/dlls/winhttp/url.c
@@ -181,7 +181,7 @@ BOOL WINAPI WinHttpCrackUrl( LPCWSTR url, DWORD len, DWORD flags, LPURL_COMPONEN
if (!url || !uc || uc->dwStructSize != sizeof(URL_COMPONENTS))
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (!len) len = strlenW( url );
@@ -190,7 +190,7 @@ BOOL WINAPI WinHttpCrackUrl( LPCWSTR url, DWORD len, DWORD flags, LPURL_COMPONEN
{
if ((err = escape_url( url, &len, &url_escaped )))
{
- set_last_error( err );
+ SetLastError( err );
return FALSE;
}
url = url_escaped;
@@ -199,14 +199,14 @@ BOOL WINAPI WinHttpCrackUrl( LPCWSTR url, DWORD len, DWORD flags, LPURL_COMPONEN
{
if (!(url_decoded = decode_url( url, &len )))
{
- set_last_error( ERROR_OUTOFMEMORY );
+ SetLastError( ERROR_OUTOFMEMORY );
return FALSE;
}
url = url_decoded;
}
if (!(p = strchrW( url, ':' )))
{
- set_last_error( ERROR_WINHTTP_UNRECOGNIZED_SCHEME );
+ SetLastError( ERROR_WINHTTP_UNRECOGNIZED_SCHEME );
return FALSE;
}
if (p - url == 4 && !strncmpiW( url, scheme_http, 4 )) scheme = INTERNET_SCHEME_HTTP;
@@ -307,7 +307,7 @@ exit:
}
heap_free( url_decoded );
heap_free( url_escaped );
- set_last_error( err );
+ SetLastError( err );
return !err;
}
@@ -372,7 +372,7 @@ static BOOL get_url_length( URL_COMPONENTS *uc, DWORD flags, DWORD *len )
{
if (uc->lpszPassword)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
}
@@ -412,7 +412,7 @@ BOOL WINAPI WinHttpCreateUrl( LPURL_COMPONENTS uc, DWORD flags, LPWSTR url, LPDW
if (!uc || uc->dwStructSize != sizeof(URL_COMPONENTS) || !required)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -421,12 +421,12 @@ BOOL WINAPI WinHttpCreateUrl( LPURL_COMPONENTS uc, DWORD flags, LPWSTR url, LPDW
if (*required < len)
{
*required = len + 1;
- set_last_error( ERROR_INSUFFICIENT_BUFFER );
+ SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
if (!url)
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
@@ -497,7 +497,7 @@ BOOL WINAPI WinHttpCreateUrl( LPURL_COMPONENTS uc, DWORD flags, LPWSTR url, LPDW
{
if (!escape_string( uc->lpszUrlPath, len, url, &len_escaped ))
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
url += len_escaped;
@@ -515,7 +515,7 @@ BOOL WINAPI WinHttpCreateUrl( LPURL_COMPONENTS uc, DWORD flags, LPWSTR url, LPDW
{
if (!escape_string( uc->lpszExtraInfo, len, url, &len_escaped ))
{
- set_last_error( ERROR_INVALID_PARAMETER );
+ SetLastError( ERROR_INVALID_PARAMETER );
return FALSE;
}
url += len_escaped;
@@ -527,6 +527,6 @@ BOOL WINAPI WinHttpCreateUrl( LPURL_COMPONENTS uc, DWORD flags, LPWSTR url, LPDW
}
}
*url = 0;
- set_last_error( ERROR_SUCCESS );
+ SetLastError( ERROR_SUCCESS );
return TRUE;
}
diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h
index 99cde44c88..2ee868c657 100644
--- a/dlls/winhttp/winhttp_private.h
+++ b/dlls/winhttp/winhttp_private.h
@@ -265,8 +265,6 @@ void release_object( struct object_header * ) DECLSPEC_HIDDEN;
HINTERNET alloc_handle( struct object_header * ) DECLSPEC_HIDDEN;
BOOL free_handle( HINTERNET ) DECLSPEC_HIDDEN;
-void set_last_error( DWORD ) DECLSPEC_HIDDEN;
-DWORD get_last_error( void ) DECLSPEC_HIDDEN;
void send_callback( struct object_header *, DWORD, LPVOID, DWORD ) DECLSPEC_HIDDEN;
void close_connection( struct request * ) DECLSPEC_HIDDEN;
--
2.11.0
1
0
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/winhttp/cookie.c | 4 +-
dlls/winhttp/handle.c | 2 +-
dlls/winhttp/request.c | 128 +++++++++++++++++++++--------------------
dlls/winhttp/session.c | 14 ++---
dlls/winhttp/winhttp_private.h | 24 ++++----
5 files changed, 87 insertions(+), 85 deletions(-)
diff --git a/dlls/winhttp/cookie.c b/dlls/winhttp/cookie.c
index 143091bcbc..40c11c6f71 100644
--- a/dlls/winhttp/cookie.c
+++ b/dlls/winhttp/cookie.c
@@ -260,7 +260,7 @@ static struct attr *parse_attr( const WCHAR *str, int *used )
return attr;
}
-BOOL set_cookies( request_t *request, const WCHAR *cookies )
+BOOL set_cookies( struct request *request, const WCHAR *cookies )
{
static const WCHAR pathW[] = {'p','a','t','h',0};
static const WCHAR domainW[] = {'d','o','m','a','i','n',0};
@@ -321,7 +321,7 @@ end:
return ret;
}
-BOOL add_cookie_headers( request_t *request )
+BOOL add_cookie_headers( struct request *request )
{
struct list *domain_cursor;
struct session *session = request->connect->session;
diff --git a/dlls/winhttp/handle.c b/dlls/winhttp/handle.c
index b76d8fe8d1..6711cd9172 100644
--- a/dlls/winhttp/handle.c
+++ b/dlls/winhttp/handle.c
@@ -75,7 +75,7 @@ void release_object( struct object_header *hdr )
TRACE("object %p refcount = %d\n", hdr, refs);
if (!refs)
{
- if (hdr->type == WINHTTP_HANDLE_TYPE_REQUEST) close_connection( (request_t *)hdr );
+ if (hdr->type == WINHTTP_HANDLE_TYPE_REQUEST) close_connection( (struct request *)hdr );
send_callback( hdr, WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING, &hdr->handle, sizeof(HINTERNET) );
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index f5fe769dfb..0f37f38422 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -177,7 +177,7 @@ static const WCHAR *attribute_table[] =
NULL /* WINHTTP_QUERY_PASSPORT_CONFIG = 78 */
};
-static struct task_header *dequeue_task( request_t *request )
+static struct task_header *dequeue_task( struct request *request )
{
struct task_header *task;
@@ -193,7 +193,7 @@ static struct task_header *dequeue_task( request_t *request )
static DWORD CALLBACK task_proc( LPVOID param )
{
- request_t *request = param;
+ struct request *request = param;
HANDLE handles[2];
handles[0] = request->task_wait;
@@ -233,7 +233,7 @@ static DWORD CALLBACK task_proc( LPVOID param )
static BOOL queue_task( struct task_header *task )
{
- request_t *request = task->request;
+ struct request *request = task->request;
if (!request->task_thread)
{
@@ -344,7 +344,7 @@ static struct header *parse_header( const WCHAR *string )
return header;
}
-static int get_header_index( request_t *request, LPCWSTR field, int requested_index, BOOL request_only )
+static int get_header_index( struct request *request, const WCHAR *field, int requested_index, BOOL request_only )
{
int index;
@@ -364,7 +364,7 @@ static int get_header_index( request_t *request, LPCWSTR field, int requested_in
return index;
}
-static BOOL insert_header( request_t *request, struct header *header )
+static BOOL insert_header( struct request *request, struct header *header )
{
DWORD count = request->num_headers + 1;
struct header *hdrs;
@@ -383,7 +383,7 @@ static BOOL insert_header( request_t *request, struct header *header )
return TRUE;
}
-static BOOL delete_header( request_t *request, DWORD index )
+static BOOL delete_header( struct request *request, DWORD index )
{
if (!request->num_headers) return FALSE;
if (index >= request->num_headers) return FALSE;
@@ -398,7 +398,8 @@ static BOOL delete_header( request_t *request, DWORD index )
return TRUE;
}
-static BOOL process_header( request_t *request, LPCWSTR field, LPCWSTR value, DWORD flags, BOOL request_only )
+static BOOL process_header( struct request *request, const WCHAR *field, const WCHAR *value, DWORD flags,
+ BOOL request_only )
{
int index;
struct header hdr;
@@ -463,7 +464,7 @@ static BOOL process_header( request_t *request, LPCWSTR field, LPCWSTR value, DW
return TRUE;
}
-BOOL add_request_headers( request_t *request, LPCWSTR headers, DWORD len, DWORD flags )
+BOOL add_request_headers( struct request *request, const WCHAR *headers, DWORD len, DWORD flags )
{
BOOL ret = FALSE;
WCHAR *buffer, *p, *q;
@@ -513,7 +514,7 @@ BOOL add_request_headers( request_t *request, LPCWSTR headers, DWORD len, DWORD
BOOL WINAPI WinHttpAddRequestHeaders( HINTERNET hrequest, LPCWSTR headers, DWORD len, DWORD flags )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, %s, %u, 0x%08x\n", hrequest, debugstr_wn(headers, len), len, flags);
@@ -522,7 +523,7 @@ BOOL WINAPI WinHttpAddRequestHeaders( HINTERNET hrequest, LPCWSTR headers, DWORD
set_last_error( ERROR_INVALID_PARAMETER );
return FALSE;
}
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -541,7 +542,7 @@ BOOL WINAPI WinHttpAddRequestHeaders( HINTERNET hrequest, LPCWSTR headers, DWORD
return ret;
}
-static WCHAR *build_absolute_request_path( request_t *request, const WCHAR **path )
+static WCHAR *build_absolute_request_path( struct request *request, const WCHAR **path )
{
static const WCHAR http[] = {'h','t','t','p',0};
static const WCHAR https[] = {'h','t','t','p','s',0};
@@ -571,7 +572,7 @@ static WCHAR *build_absolute_request_path( request_t *request, const WCHAR **pat
return ret;
}
-static WCHAR *build_request_string( request_t *request )
+static WCHAR *build_request_string( struct request *request )
{
static const WCHAR spaceW[] = {' ',0}, crlfW[] = {'\r','\n',0}, colonW[] = {':',' ',0};
static const WCHAR twocrlfW[] = {'\r','\n','\r','\n',0};
@@ -619,7 +620,8 @@ static WCHAR *build_request_string( request_t *request )
#define QUERY_MODIFIER_MASK (WINHTTP_QUERY_FLAG_REQUEST_HEADERS | WINHTTP_QUERY_FLAG_SYSTEMTIME | WINHTTP_QUERY_FLAG_NUMBER)
-static BOOL query_headers( request_t *request, DWORD level, LPCWSTR name, LPVOID buffer, LPDWORD buflen, LPDWORD index )
+static BOOL query_headers( struct request *request, DWORD level, const WCHAR *name, void *buffer, DWORD *buflen,
+ DWORD *index )
{
struct header *header = NULL;
BOOL request_only, ret = FALSE;
@@ -804,11 +806,11 @@ static BOOL query_headers( request_t *request, DWORD level, LPCWSTR name, LPVOID
BOOL WINAPI WinHttpQueryHeaders( HINTERNET hrequest, DWORD level, LPCWSTR name, LPVOID buffer, LPDWORD buflen, LPDWORD index )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, 0x%08x, %s, %p, %p, %p\n", hrequest, level, debugstr_w(name), buffer, buflen, index);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -868,7 +870,7 @@ static DWORD auth_scheme_from_header( WCHAR *header )
return 0;
}
-static BOOL query_auth_schemes( request_t *request, DWORD level, LPDWORD supported, LPDWORD first )
+static BOOL query_auth_schemes( struct request *request, DWORD level, DWORD *supported, DWORD *first )
{
DWORD index = 0, supported_schemes = 0, first_scheme = 0;
BOOL ret = FALSE;
@@ -912,11 +914,11 @@ static BOOL query_auth_schemes( request_t *request, DWORD level, LPDWORD support
BOOL WINAPI WinHttpQueryAuthSchemes( HINTERNET hrequest, LPDWORD supported, LPDWORD first, LPDWORD target )
{
BOOL ret = FALSE;
- request_t *request;
+ struct request *request;
TRACE("%p, %p, %p, %p\n", hrequest, supported, first, target);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -1096,7 +1098,7 @@ void destroy_authinfo( struct authinfo *authinfo )
heap_free( authinfo );
}
-static BOOL get_authvalue( request_t *request, DWORD level, DWORD scheme, WCHAR *buffer, DWORD len )
+static BOOL get_authvalue( struct request *request, DWORD level, DWORD scheme, WCHAR *buffer, DWORD len )
{
DWORD size, index = 0;
for (;;)
@@ -1108,7 +1110,7 @@ static BOOL get_authvalue( request_t *request, DWORD level, DWORD scheme, WCHAR
return TRUE;
}
-static BOOL do_authorization( request_t *request, DWORD target, DWORD scheme_flag )
+static BOOL do_authorization( struct request *request, DWORD target, DWORD scheme_flag )
{
struct authinfo *authinfo, **auth_ptr;
enum auth_scheme scheme = scheme_from_flag( scheme_flag );
@@ -1337,7 +1339,7 @@ static BOOL do_authorization( request_t *request, DWORD target, DWORD scheme_fla
return ret;
}
-static WCHAR *build_proxy_connect_string( request_t *request )
+static WCHAR *build_proxy_connect_string( struct request *request )
{
static const WCHAR fmtW[] = {'%','s',':','%','u',0};
static const WCHAR connectW[] = {'C','O','N','N','E','C','T', 0};
@@ -1385,9 +1387,9 @@ static WCHAR *build_proxy_connect_string( request_t *request )
return ret;
}
-static BOOL read_reply( request_t *request );
+static BOOL read_reply( struct request *request );
-static BOOL secure_proxy_connect( request_t *request )
+static BOOL secure_proxy_connect( struct request *request )
{
WCHAR *str;
char *strA;
@@ -1566,7 +1568,7 @@ static BOOL ensure_cred_handle( struct session *session )
return TRUE;
}
-static BOOL open_connection( request_t *request )
+static BOOL open_connection( struct request *request )
{
BOOL is_secure = request->hdr.flags & WINHTTP_FLAG_SECURE;
struct hostdata *host = NULL, *iter;
@@ -1735,7 +1737,7 @@ done:
return TRUE;
}
-void close_connection( request_t *request )
+void close_connection( struct request *request )
{
if (!request->netconn) return;
@@ -1745,7 +1747,7 @@ void close_connection( request_t *request )
send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED, 0, 0 );
}
-static BOOL add_host_header( request_t *request, DWORD modifier )
+static BOOL add_host_header( struct request *request, DWORD modifier )
{
BOOL ret;
DWORD len;
@@ -1768,7 +1770,7 @@ static BOOL add_host_header( request_t *request, DWORD modifier )
return ret;
}
-static void clear_response_headers( request_t *request )
+static void clear_response_headers( struct request *request )
{
unsigned int i;
@@ -1783,14 +1785,14 @@ static void clear_response_headers( request_t *request )
}
/* remove some amount of data from the read buffer */
-static void remove_data( request_t *request, int count )
+static void remove_data( struct request *request, int count )
{
if (!(request->read_size -= count)) request->read_pos = 0;
else request->read_pos += count;
}
/* read some more data into the read buffer */
-static BOOL read_more_data( request_t *request, int maxlen, BOOL notify )
+static BOOL read_more_data( struct request *request, int maxlen, BOOL notify )
{
int len;
BOOL ret;
@@ -1817,7 +1819,7 @@ static BOOL read_more_data( request_t *request, int maxlen, BOOL notify )
}
/* discard data contents until we reach end of line */
-static BOOL discard_eol( request_t *request, BOOL notify )
+static BOOL discard_eol( struct request *request, BOOL notify )
{
do
{
@@ -1834,7 +1836,7 @@ static BOOL discard_eol( request_t *request, BOOL notify )
}
/* read the size of the next chunk */
-static BOOL start_next_chunk( request_t *request, BOOL notify )
+static BOOL start_next_chunk( struct request *request, BOOL notify )
{
DWORD chunk_size = 0;
@@ -1877,7 +1879,7 @@ static BOOL start_next_chunk( request_t *request, BOOL notify )
}
}
-static BOOL refill_buffer( request_t *request, BOOL notify )
+static BOOL refill_buffer( struct request *request, BOOL notify )
{
int len = sizeof(request->read_buf);
@@ -1901,7 +1903,7 @@ static BOOL refill_buffer( request_t *request, BOOL notify )
return TRUE;
}
-static void finished_reading( request_t *request )
+static void finished_reading( struct request *request )
{
static const WCHAR closeW[] = {'c','l','o','s','e',0};
@@ -1929,14 +1931,14 @@ static void finished_reading( request_t *request )
}
/* return the size of data available to be read immediately */
-static DWORD get_available_data( request_t *request )
+static DWORD get_available_data( struct request *request )
{
if (request->read_chunked) return min( request->read_chunked_size, request->read_size );
return request->read_size;
}
/* check if we have reached the end of the data to read */
-static BOOL end_of_read_data( request_t *request )
+static BOOL end_of_read_data( struct request *request )
{
if (!request->content_length) return TRUE;
if (request->read_chunked) return request->read_chunked_eof;
@@ -1944,7 +1946,7 @@ static BOOL end_of_read_data( request_t *request )
return (request->content_length == request->content_read);
}
-static BOOL read_data( request_t *request, void *buffer, DWORD size, DWORD *read, BOOL async )
+static BOOL read_data( struct request *request, void *buffer, DWORD size, DWORD *read, BOOL async )
{
int count, bytes_read = 0;
@@ -1978,7 +1980,7 @@ done:
}
/* read any content returned by the server so that the connection can be reused */
-static void drain_content( request_t *request )
+static void drain_content( struct request *request )
{
DWORD size, bytes_read, bytes_total = 0, bytes_left = request->content_length - request->content_read;
char buffer[2048];
@@ -2074,7 +2076,7 @@ static DWORD str_to_wire( const WCHAR *src, int src_len, char *dst, enum escape_
return len;
}
-static char *build_wire_path( request_t *request, DWORD *ret_len )
+static char *build_wire_path( struct request *request, DWORD *ret_len )
{
WCHAR *full_path;
const WCHAR *start, *path, *query = NULL;
@@ -2118,7 +2120,7 @@ static char *build_wire_path( request_t *request, DWORD *ret_len )
return ret;
}
-static char *build_wire_request( request_t *request, DWORD *len )
+static char *build_wire_request( struct request *request, DWORD *len )
{
char *path, *ptr, *ret;
DWORD i, len_path;
@@ -2167,7 +2169,7 @@ static char *build_wire_request( request_t *request, DWORD *len )
return ret;
}
-static BOOL send_request( request_t *request, LPCWSTR headers, DWORD headers_len, LPVOID optional,
+static BOOL send_request( struct request *request, const WCHAR *headers, DWORD headers_len, void *optional,
DWORD optional_len, DWORD total_len, DWORD_PTR context, BOOL async )
{
static const WCHAR keep_alive[] = {'K','e','e','p','-','A','l','i','v','e',0};
@@ -2274,12 +2276,12 @@ BOOL WINAPI WinHttpSendRequest( HINTERNET hrequest, LPCWSTR headers, DWORD heade
LPVOID optional, DWORD optional_len, DWORD total_len, DWORD_PTR context )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, %s, %u, %u, %u, %lx\n", hrequest, debugstr_wn(headers, headers_len), headers_len, optional_len,
total_len, context);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -2318,7 +2320,7 @@ BOOL WINAPI WinHttpSendRequest( HINTERNET hrequest, LPCWSTR headers, DWORD heade
return ret;
}
-static BOOL set_credentials( request_t *request, DWORD target, DWORD scheme_flag, const WCHAR *username,
+static BOOL set_credentials( struct request *request, DWORD target, DWORD scheme_flag, const WCHAR *username,
const WCHAR *password )
{
enum auth_scheme scheme = scheme_from_flag( scheme_flag );
@@ -2366,11 +2368,11 @@ BOOL WINAPI WinHttpSetCredentials( HINTERNET hrequest, DWORD target, DWORD schem
LPCWSTR password, LPVOID params )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, %x, 0x%08x, %s, %p, %p\n", hrequest, target, scheme, debugstr_w(username), password, params);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -2389,7 +2391,7 @@ BOOL WINAPI WinHttpSetCredentials( HINTERNET hrequest, DWORD target, DWORD schem
return ret;
}
-static BOOL handle_authorization( request_t *request, DWORD status )
+static BOOL handle_authorization( struct request *request, DWORD status )
{
DWORD i, schemes, first, level, target;
@@ -2423,7 +2425,7 @@ static BOOL handle_authorization( request_t *request, DWORD status )
}
/* set the request content length based on the headers */
-static DWORD set_content_length( request_t *request, DWORD status )
+static DWORD set_content_length( struct request *request, DWORD status )
{
WCHAR encoding[20];
DWORD buflen = sizeof(request->content_length);
@@ -2450,7 +2452,7 @@ static DWORD set_content_length( request_t *request, DWORD status )
return request->content_length;
}
-static BOOL read_line( request_t *request, char *buffer, DWORD *len )
+static BOOL read_line( struct request *request, char *buffer, DWORD *len )
{
int count, bytes_read, pos = 0;
@@ -2491,7 +2493,7 @@ static BOOL read_line( request_t *request, char *buffer, DWORD *len )
#define MAX_REPLY_LEN 1460
#define INITIAL_HEADER_BUFFER_LEN 512
-static BOOL read_reply( request_t *request )
+static BOOL read_reply( struct request *request )
{
static const WCHAR crlf[] = {'\r','\n',0};
@@ -2590,7 +2592,7 @@ static BOOL read_reply( request_t *request )
return TRUE;
}
-static void record_cookies( request_t *request )
+static void record_cookies( struct request *request )
{
unsigned int i;
@@ -2604,7 +2606,7 @@ static void record_cookies( request_t *request )
}
}
-static WCHAR *get_redirect_url( request_t *request, DWORD *len )
+static WCHAR *get_redirect_url( struct request *request, DWORD *len )
{
DWORD size;
WCHAR *ret;
@@ -2618,7 +2620,7 @@ static WCHAR *get_redirect_url( request_t *request, DWORD *len )
return NULL;
}
-static BOOL handle_redirect( request_t *request, DWORD status )
+static BOOL handle_redirect( struct request *request, DWORD status )
{
BOOL ret = FALSE;
DWORD len, len_loc;
@@ -2729,7 +2731,7 @@ end:
return ret;
}
-static BOOL receive_response( request_t *request, BOOL async )
+static BOOL receive_response( struct request *request, BOOL async )
{
BOOL ret;
DWORD size, query, status;
@@ -2801,11 +2803,11 @@ static void task_receive_response( struct task_header *task )
BOOL WINAPI WinHttpReceiveResponse( HINTERNET hrequest, LPVOID reserved )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, %p\n", hrequest, reserved);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -2836,7 +2838,7 @@ BOOL WINAPI WinHttpReceiveResponse( HINTERNET hrequest, LPVOID reserved )
return ret;
}
-static BOOL query_data_available( request_t *request, DWORD *available, BOOL async )
+static BOOL query_data_available( struct request *request, DWORD *available, BOOL async )
{
DWORD count = 0;
@@ -2872,11 +2874,11 @@ static void task_query_data_available( struct task_header *task )
BOOL WINAPI WinHttpQueryDataAvailable( HINTERNET hrequest, LPDWORD available )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, %p\n", hrequest, available);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -2920,11 +2922,11 @@ static void task_read_data( struct task_header *task )
BOOL WINAPI WinHttpReadData( HINTERNET hrequest, LPVOID buffer, DWORD to_read, LPDWORD read )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, %p, %d, %p\n", hrequest, buffer, to_read, read);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -2958,7 +2960,7 @@ BOOL WINAPI WinHttpReadData( HINTERNET hrequest, LPVOID buffer, DWORD to_read, L
return ret;
}
-static BOOL write_data( request_t *request, LPCVOID buffer, DWORD to_write, LPDWORD written, BOOL async )
+static BOOL write_data( struct request *request, const void *buffer, DWORD to_write, DWORD *written, BOOL async )
{
BOOL ret;
int num_bytes;
@@ -2992,11 +2994,11 @@ static void task_write_data( struct task_header *task )
BOOL WINAPI WinHttpWriteData( HINTERNET hrequest, LPCVOID buffer, DWORD to_write, LPDWORD written )
{
BOOL ret;
- request_t *request;
+ struct request *request;
TRACE("%p, %p, %d, %p\n", hrequest, buffer, to_write, written);
- if (!(request = (request_t *)grab_object( hrequest )))
+ if (!(request = (struct request *)grab_object( hrequest )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index 84a27b7430..8b3f9f51b2 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -608,7 +608,7 @@ end:
*/
static void request_destroy( struct object_header *hdr )
{
- request_t *request = (request_t *)hdr;
+ struct request *request = (struct request *)hdr;
unsigned int i, j;
TRACE("%p\n", request);
@@ -706,7 +706,7 @@ static BOOL copy_sockaddr( const struct sockaddr *addr, SOCKADDR_STORAGE *addr_s
static BOOL request_query_option( struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen )
{
- request_t *request = (request_t *)hdr;
+ struct request *request = (struct request *)hdr;
switch (option)
{
@@ -887,7 +887,7 @@ static WCHAR *buffer_to_str( WCHAR *buffer, DWORD buflen )
static BOOL request_set_option( struct object_header *hdr, DWORD option, void *buffer, DWORD buflen )
{
- request_t *request = (request_t *)hdr;
+ struct request *request = (struct request *)hdr;
switch (option)
{
@@ -1057,7 +1057,7 @@ static const struct object_vtbl request_vtbl =
request_set_option
};
-static BOOL store_accept_types( request_t *request, const WCHAR **accept_types )
+static BOOL store_accept_types( struct request *request, const WCHAR **accept_types )
{
const WCHAR **types = accept_types;
DWORD i;
@@ -1109,7 +1109,7 @@ static WCHAR *get_request_path( const WCHAR *object )
HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR object, LPCWSTR version,
LPCWSTR referrer, LPCWSTR *types, DWORD flags )
{
- request_t *request;
+ struct request *request;
struct connect *connect;
HINTERNET hrequest = NULL;
@@ -1134,7 +1134,7 @@ HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR o
set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return NULL;
}
- if (!(request = heap_alloc_zero( sizeof(request_t) )))
+ if (!(request = heap_alloc_zero( sizeof(struct request) )))
{
release_object( &connect->hdr );
return NULL;
@@ -2093,7 +2093,7 @@ BOOL WINAPI WinHttpSetTimeouts( HINTERNET handle, int resolve, int connect, int
{
case WINHTTP_HANDLE_TYPE_REQUEST:
{
- request_t *request = (request_t *)hdr;
+ struct request *request = (struct request *)hdr;
request->connect_timeout = connect;
if (resolve < 0) resolve = 0;
diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h
index 8bd7d0b0bf..99cde44c88 100644
--- a/dlls/winhttp/winhttp_private.h
+++ b/dlls/winhttp/winhttp_private.h
@@ -168,14 +168,14 @@ struct authinfo
BOOL finished; /* finished authenticating */
};
-typedef struct
+struct request
{
struct object_header hdr;
struct connect *connect;
- LPWSTR verb;
- LPWSTR path;
- LPWSTR version;
- LPWSTR raw_headers;
+ WCHAR *verb;
+ WCHAR *path;
+ WCHAR *version;
+ WCHAR *raw_headers;
void *optional;
DWORD optional_len;
struct netconn *netconn;
@@ -187,7 +187,7 @@ typedef struct
int send_timeout;
int receive_timeout;
int receive_response_timeout;
- LPWSTR status_text;
+ WCHAR *status_text;
DWORD content_length; /* total number of bytes to be read */
DWORD content_read; /* bytes read so far */
BOOL read_chunked; /* are we reading in chunked mode? */
@@ -212,12 +212,12 @@ typedef struct
WCHAR *username;
WCHAR *password;
} creds[TARGET_MAX][SCHEME_MAX];
-} request_t;
+};
struct task_header
{
struct list entry;
- request_t *request;
+ struct request *request;
void (*proc)( struct task_header * );
};
@@ -268,7 +268,7 @@ BOOL free_handle( HINTERNET ) DECLSPEC_HIDDEN;
void set_last_error( DWORD ) DECLSPEC_HIDDEN;
DWORD get_last_error( void ) DECLSPEC_HIDDEN;
void send_callback( struct object_header *, DWORD, LPVOID, DWORD ) DECLSPEC_HIDDEN;
-void close_connection( request_t * ) DECLSPEC_HIDDEN;
+void close_connection( struct request * ) DECLSPEC_HIDDEN;
void netconn_close( struct netconn * ) DECLSPEC_HIDDEN;
struct netconn *netconn_create( struct hostdata *, const struct sockaddr_storage *, int ) DECLSPEC_HIDDEN;
@@ -283,9 +283,9 @@ BOOL netconn_is_alive( struct netconn * ) DECLSPEC_HIDDEN;
const void *netconn_get_certificate( struct netconn * ) DECLSPEC_HIDDEN;
int netconn_get_cipher_strength( struct netconn * ) DECLSPEC_HIDDEN;
-BOOL set_cookies( request_t *, const WCHAR * ) DECLSPEC_HIDDEN;
-BOOL add_cookie_headers( request_t * ) DECLSPEC_HIDDEN;
-BOOL add_request_headers( request_t *, LPCWSTR, DWORD, DWORD ) DECLSPEC_HIDDEN;
+BOOL set_cookies( struct request *, const WCHAR * ) DECLSPEC_HIDDEN;
+BOOL add_cookie_headers( struct request * ) DECLSPEC_HIDDEN;
+BOOL add_request_headers( struct request *, const WCHAR *, DWORD, DWORD ) DECLSPEC_HIDDEN;
void destroy_cookies( struct session * ) DECLSPEC_HIDDEN;
BOOL set_server_for_hostname( struct connect *, const WCHAR *, INTERNET_PORT ) DECLSPEC_HIDDEN;
void destroy_authinfo( struct authinfo * ) DECLSPEC_HIDDEN;
--
2.11.0
1
0
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/winhttp/net.c | 28 ++++++++++++++--------------
dlls/winhttp/request.c | 10 +++++-----
dlls/winhttp/winhttp_private.h | 26 +++++++++++++-------------
3 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/dlls/winhttp/net.c b/dlls/winhttp/net.c
index 1db3916650..004933ff81 100644
--- a/dlls/winhttp/net.c
+++ b/dlls/winhttp/net.c
@@ -173,15 +173,15 @@ static void winsock_init(void)
InitOnceExecuteOnce( &once, winsock_startup, NULL, NULL );
}
-static void set_blocking( netconn_t *conn, BOOL blocking )
+static void set_blocking( struct netconn *conn, BOOL blocking )
{
ULONG state = !blocking;
ioctlsocket( conn->socket, FIONBIO, &state );
}
-netconn_t *netconn_create( struct hostdata *host, const struct sockaddr_storage *sockaddr, int timeout )
+struct netconn *netconn_create( struct hostdata *host, const struct sockaddr_storage *sockaddr, int timeout )
{
- netconn_t *conn;
+ struct netconn *conn;
unsigned int addr_len;
BOOL ret = FALSE;
@@ -241,7 +241,7 @@ netconn_t *netconn_create( struct hostdata *host, const struct sockaddr_storage
return conn;
}
-void netconn_close( netconn_t *conn )
+void netconn_close( struct netconn *conn )
{
if (conn->secure)
{
@@ -255,7 +255,7 @@ void netconn_close( netconn_t *conn )
heap_free(conn);
}
-BOOL netconn_secure_connect( netconn_t *conn, WCHAR *hostname, DWORD security_flags, CredHandle *cred_handle,
+BOOL netconn_secure_connect( struct netconn *conn, WCHAR *hostname, DWORD security_flags, CredHandle *cred_handle,
BOOL check_revocation)
{
SecBuffer out_buf = {0, SECBUFFER_TOKEN, NULL}, in_bufs[2] = {{0, SECBUFFER_TOKEN}, {0, SECBUFFER_EMPTY}};
@@ -389,7 +389,7 @@ BOOL netconn_secure_connect( netconn_t *conn, WCHAR *hostname, DWORD security_fl
return TRUE;
}
-static BOOL send_ssl_chunk(netconn_t *conn, const void *msg, size_t size)
+static BOOL send_ssl_chunk(struct netconn *conn, const void *msg, size_t size)
{
SecBuffer bufs[4] = {
{conn->ssl_sizes.cbHeader, SECBUFFER_STREAM_HEADER, conn->ssl_buf},
@@ -415,7 +415,7 @@ static BOOL send_ssl_chunk(netconn_t *conn, const void *msg, size_t size)
return TRUE;
}
-BOOL netconn_send( netconn_t *conn, const void *msg, size_t len, int *sent )
+BOOL netconn_send( struct netconn *conn, const void *msg, size_t len, int *sent )
{
if (conn->secure)
{
@@ -439,7 +439,7 @@ BOOL netconn_send( netconn_t *conn, const void *msg, size_t len, int *sent )
return ((*sent = sock_send( conn->socket, msg, len, 0 )) != -1);
}
-static BOOL read_ssl_chunk(netconn_t *conn, void *buf, SIZE_T buf_size, SIZE_T *ret_size, BOOL *eof)
+static BOOL read_ssl_chunk(struct netconn *conn, void *buf, SIZE_T buf_size, SIZE_T *ret_size, BOOL *eof)
{
const SIZE_T ssl_buf_size = conn->ssl_sizes.cbHeader+conn->ssl_sizes.cbMaximumMessage+conn->ssl_sizes.cbTrailer;
SecBuffer bufs[4];
@@ -530,7 +530,7 @@ static BOOL read_ssl_chunk(netconn_t *conn, void *buf, SIZE_T buf_size, SIZE_T *
return TRUE;
}
-BOOL netconn_recv( netconn_t *conn, void *buf, size_t len, int flags, int *recvd )
+BOOL netconn_recv( struct netconn *conn, void *buf, size_t len, int flags, int *recvd )
{
*recvd = 0;
if (!len) return TRUE;
@@ -582,12 +582,12 @@ BOOL netconn_recv( netconn_t *conn, void *buf, size_t len, int flags, int *recvd
return ((*recvd = sock_recv( conn->socket, buf, len, flags )) != -1);
}
-ULONG netconn_query_data_available( netconn_t *conn )
+ULONG netconn_query_data_available( struct netconn *conn )
{
return conn->secure ? conn->peek_len : 0;
}
-DWORD netconn_set_timeout( netconn_t *netconn, BOOL send, int value )
+DWORD netconn_set_timeout( struct netconn *netconn, BOOL send, int value )
{
int opt = send ? SO_SNDTIMEO : SO_RCVTIMEO;
if (setsockopt( netconn->socket, SOL_SOCKET, opt, (void *)&value, sizeof(value) ) == -1)
@@ -599,7 +599,7 @@ DWORD netconn_set_timeout( netconn_t *netconn, BOOL send, int value )
return ERROR_SUCCESS;
}
-BOOL netconn_is_alive( netconn_t *netconn )
+BOOL netconn_is_alive( struct netconn *netconn )
{
int len;
char b;
@@ -696,7 +696,7 @@ BOOL netconn_resolve( WCHAR *hostname, INTERNET_PORT port, struct sockaddr_stora
return TRUE;
}
-const void *netconn_get_certificate( netconn_t *conn )
+const void *netconn_get_certificate( struct netconn *conn )
{
const CERT_CONTEXT *ret;
SECURITY_STATUS res;
@@ -706,7 +706,7 @@ const void *netconn_get_certificate( netconn_t *conn )
return res == SEC_E_OK ? ret : NULL;
}
-int netconn_get_cipher_strength( netconn_t *conn )
+int netconn_get_cipher_strength( struct netconn *conn )
{
SecPkgContext_ConnectionInfo conn_info;
SECURITY_STATUS res;
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 3e499ce8ed..f5fe769dfb 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -1458,7 +1458,7 @@ static BOOL connection_collector_running;
static DWORD WINAPI connection_collector(void *arg)
{
unsigned int remaining_connections;
- netconn_t *netconn, *next_netconn;
+ struct netconn *netconn, *next_netconn;
struct hostdata *host, *next_host;
ULONGLONG now;
@@ -1473,7 +1473,7 @@ static DWORD WINAPI connection_collector(void *arg)
LIST_FOR_EACH_ENTRY_SAFE(host, next_host, &connection_pool, struct hostdata, entry)
{
- LIST_FOR_EACH_ENTRY_SAFE(netconn, next_netconn, &host->connections, netconn_t, entry)
+ LIST_FOR_EACH_ENTRY_SAFE(netconn, next_netconn, &host->connections, struct netconn, entry)
{
if (netconn->keep_until < now)
{
@@ -1496,7 +1496,7 @@ static DWORD WINAPI connection_collector(void *arg)
FreeLibraryAndExitThread( winhttp_instance, 0 );
}
-static void cache_connection( netconn_t *netconn )
+static void cache_connection( struct netconn *netconn )
{
TRACE( "caching connection %p\n", netconn );
@@ -1570,7 +1570,7 @@ static BOOL open_connection( request_t *request )
{
BOOL is_secure = request->hdr.flags & WINHTTP_FLAG_SECURE;
struct hostdata *host = NULL, *iter;
- netconn_t *netconn = NULL;
+ struct netconn *netconn = NULL;
struct connect *connect;
WCHAR *addressW = NULL;
INTERNET_PORT port;
@@ -1622,7 +1622,7 @@ static BOOL open_connection( request_t *request )
EnterCriticalSection( &connection_pool_cs );
if (!list_empty( &host->connections ))
{
- netconn = LIST_ENTRY( list_head( &host->connections ), netconn_t, entry );
+ netconn = LIST_ENTRY( list_head( &host->connections ), struct netconn, entry );
list_remove( &netconn->entry );
}
LeaveCriticalSection( &connection_pool_cs );
diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h
index 78b1d15b1d..8bd7d0b0bf 100644
--- a/dlls/winhttp/winhttp_private.h
+++ b/dlls/winhttp/winhttp_private.h
@@ -111,7 +111,7 @@ struct connect
BOOL resolved;
};
-typedef struct
+struct netconn
{
struct list entry;
int socket;
@@ -127,7 +127,7 @@ typedef struct
char *peek_msg;
char *peek_msg_mem;
size_t peek_len;
-} netconn_t;
+};
struct header
{
@@ -178,7 +178,7 @@ typedef struct
LPWSTR raw_headers;
void *optional;
DWORD optional_len;
- netconn_t *netconn;
+ struct netconn *netconn;
DWORD security_flags;
BOOL check_revocation;
const CERT_CONTEXT *server_cert;
@@ -270,18 +270,18 @@ DWORD get_last_error( void ) DECLSPEC_HIDDEN;
void send_callback( struct object_header *, DWORD, LPVOID, DWORD ) DECLSPEC_HIDDEN;
void close_connection( request_t * ) DECLSPEC_HIDDEN;
-void netconn_close( netconn_t * ) DECLSPEC_HIDDEN;
-netconn_t *netconn_create( struct hostdata *, const struct sockaddr_storage *, int ) DECLSPEC_HIDDEN;
+void netconn_close( struct netconn * ) DECLSPEC_HIDDEN;
+struct netconn *netconn_create( struct hostdata *, const struct sockaddr_storage *, int ) DECLSPEC_HIDDEN;
void netconn_unload( void ) DECLSPEC_HIDDEN;
-ULONG netconn_query_data_available( netconn_t * ) DECLSPEC_HIDDEN;
-BOOL netconn_recv( netconn_t *, void *, size_t, int, int * ) DECLSPEC_HIDDEN;
+ULONG netconn_query_data_available( struct netconn * ) DECLSPEC_HIDDEN;
+BOOL netconn_recv( struct netconn *, void *, size_t, int, int * ) DECLSPEC_HIDDEN;
BOOL netconn_resolve( WCHAR *, INTERNET_PORT, struct sockaddr_storage *, int ) DECLSPEC_HIDDEN;
-BOOL netconn_secure_connect( netconn_t *, WCHAR *, DWORD, CredHandle *, BOOL ) DECLSPEC_HIDDEN;
-BOOL netconn_send( netconn_t *, const void *, size_t, int * ) DECLSPEC_HIDDEN;
-DWORD netconn_set_timeout( netconn_t *, BOOL, int ) DECLSPEC_HIDDEN;
-BOOL netconn_is_alive( netconn_t * ) DECLSPEC_HIDDEN;
-const void *netconn_get_certificate( netconn_t * ) DECLSPEC_HIDDEN;
-int netconn_get_cipher_strength( netconn_t * ) DECLSPEC_HIDDEN;
+BOOL netconn_secure_connect( struct netconn *, WCHAR *, DWORD, CredHandle *, BOOL ) DECLSPEC_HIDDEN;
+BOOL netconn_send( struct netconn *, const void *, size_t, int * ) DECLSPEC_HIDDEN;
+DWORD netconn_set_timeout( struct netconn *, BOOL, int ) DECLSPEC_HIDDEN;
+BOOL netconn_is_alive( struct netconn * ) DECLSPEC_HIDDEN;
+const void *netconn_get_certificate( struct netconn * ) DECLSPEC_HIDDEN;
+int netconn_get_cipher_strength( struct netconn * ) DECLSPEC_HIDDEN;
BOOL set_cookies( request_t *, const WCHAR * ) DECLSPEC_HIDDEN;
BOOL add_cookie_headers( request_t * ) DECLSPEC_HIDDEN;
--
2.11.0
1
0
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/winhttp/request.c | 8 ++++----
dlls/winhttp/session.c | 18 +++++++++---------
dlls/winhttp/winhttp_private.h | 16 ++++++++--------
3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 8add6c973a..3e499ce8ed 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -1571,7 +1571,7 @@ static BOOL open_connection( request_t *request )
BOOL is_secure = request->hdr.flags & WINHTTP_FLAG_SECURE;
struct hostdata *host = NULL, *iter;
netconn_t *netconn = NULL;
- connect_t *connect;
+ struct connect *connect;
WCHAR *addressW = NULL;
INTERNET_PORT port;
DWORD len;
@@ -1751,7 +1751,7 @@ static BOOL add_host_header( request_t *request, DWORD modifier )
DWORD len;
WCHAR *host;
static const WCHAR fmt[] = {'%','s',':','%','u',0};
- connect_t *connect = request->connect;
+ struct connect *connect = request->connect;
INTERNET_PORT port;
port = connect->hostport ? connect->hostport : (request->hdr.flags & WINHTTP_FLAG_SECURE ? 443 : 80);
@@ -2175,7 +2175,7 @@ static BOOL send_request( request_t *request, LPCWSTR headers, DWORD headers_len
static const WCHAR length_fmt[] = {'%','l','d',0};
BOOL ret = FALSE;
- connect_t *connect = request->connect;
+ struct connect *connect = request->connect;
struct session *session = connect->session;
char *wire_req;
int bytes_sent;
@@ -2623,7 +2623,7 @@ static BOOL handle_redirect( request_t *request, DWORD status )
BOOL ret = FALSE;
DWORD len, len_loc;
URL_COMPONENTS uc;
- connect_t *connect = request->connect;
+ struct connect *connect = request->connect;
INTERNET_PORT port;
WCHAR *hostname = NULL, *location;
int index;
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index 76074d3032..84a27b7430 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -322,7 +322,7 @@ end:
*/
static void connect_destroy( struct object_header *hdr )
{
- connect_t *connect = (connect_t *)hdr;
+ struct connect *connect = (struct connect *)hdr;
TRACE("%p\n", connect);
@@ -337,7 +337,7 @@ static void connect_destroy( struct object_header *hdr )
static BOOL connect_query_option( struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen )
{
- connect_t *connect = (connect_t *)hdr;
+ struct connect *connect = (struct connect *)hdr;
switch (option)
{
@@ -478,7 +478,7 @@ static BOOL should_bypass_proxy(struct session *session, LPCWSTR server)
return ret;
}
-BOOL set_server_for_hostname( connect_t *connect, LPCWSTR server, INTERNET_PORT port )
+BOOL set_server_for_hostname( struct connect *connect, const WCHAR *server, INTERNET_PORT port )
{
struct session *session = connect->session;
BOOL ret = TRUE;
@@ -545,7 +545,7 @@ end:
*/
HINTERNET WINAPI WinHttpConnect( HINTERNET hsession, LPCWSTR server, INTERNET_PORT port, DWORD reserved )
{
- connect_t *connect;
+ struct connect *connect;
struct session *session;
HINTERNET hconnect = NULL;
@@ -567,7 +567,7 @@ HINTERNET WINAPI WinHttpConnect( HINTERNET hsession, LPCWSTR server, INTERNET_PO
set_last_error( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return NULL;
}
- if (!(connect = heap_alloc_zero( sizeof(connect_t) )))
+ if (!(connect = heap_alloc_zero( sizeof(struct connect) )))
{
release_object( &session->hdr );
return NULL;
@@ -987,7 +987,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
case WINHTTP_OPTION_USERNAME:
{
- connect_t *connect = request->connect;
+ struct connect *connect = request->connect;
heap_free( connect->username );
if (!(connect->username = buffer_to_str( buffer, buflen ))) return FALSE;
@@ -995,7 +995,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
}
case WINHTTP_OPTION_PASSWORD:
{
- connect_t *connect = request->connect;
+ struct connect *connect = request->connect;
heap_free( connect->password );
if (!(connect->password = buffer_to_str( buffer, buflen ))) return FALSE;
@@ -1110,7 +1110,7 @@ HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR o
LPCWSTR referrer, LPCWSTR *types, DWORD flags )
{
request_t *request;
- connect_t *connect;
+ struct connect *connect;
HINTERNET hrequest = NULL;
TRACE("%p, %s, %s, %s, %s, %p, 0x%08x\n", hconnect, debugstr_w(verb), debugstr_w(object),
@@ -1123,7 +1123,7 @@ HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR o
for (iter = types; *iter; iter++) TRACE(" %s\n", debugstr_w(*iter));
}
- if (!(connect = (connect_t *)grab_object( hconnect )))
+ if (!(connect = (struct connect *)grab_object( hconnect )))
{
set_last_error( ERROR_INVALID_HANDLE );
return NULL;
diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h
index 9e838eea40..78b1d15b1d 100644
--- a/dlls/winhttp/winhttp_private.h
+++ b/dlls/winhttp/winhttp_private.h
@@ -97,19 +97,19 @@ struct session
DWORD secure_protocols;
};
-typedef struct
+struct connect
{
struct object_header hdr;
struct session *session;
- LPWSTR hostname; /* final destination of the request */
- LPWSTR servername; /* name of the server we directly connect to */
- LPWSTR username;
- LPWSTR password;
+ WCHAR *hostname; /* final destination of the request */
+ WCHAR *servername; /* name of the server we directly connect to */
+ WCHAR *username;
+ WCHAR *password;
INTERNET_PORT hostport;
INTERNET_PORT serverport;
struct sockaddr_storage sockaddr;
BOOL resolved;
-} connect_t;
+};
typedef struct
{
@@ -171,7 +171,7 @@ struct authinfo
typedef struct
{
struct object_header hdr;
- connect_t *connect;
+ struct connect *connect;
LPWSTR verb;
LPWSTR path;
LPWSTR version;
@@ -287,7 +287,7 @@ BOOL set_cookies( request_t *, const WCHAR * ) DECLSPEC_HIDDEN;
BOOL add_cookie_headers( request_t * ) DECLSPEC_HIDDEN;
BOOL add_request_headers( request_t *, LPCWSTR, DWORD, DWORD ) DECLSPEC_HIDDEN;
void destroy_cookies( struct session * ) DECLSPEC_HIDDEN;
-BOOL set_server_for_hostname( connect_t *, LPCWSTR, INTERNET_PORT ) DECLSPEC_HIDDEN;
+BOOL set_server_for_hostname( struct connect *, const WCHAR *, INTERNET_PORT ) DECLSPEC_HIDDEN;
void destroy_authinfo( struct authinfo * ) DECLSPEC_HIDDEN;
void release_host( struct hostdata *host ) DECLSPEC_HIDDEN;
--
2.11.0
1
0
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/winhttp/cookie.c | 10 +++++-----
dlls/winhttp/request.c | 4 ++--
dlls/winhttp/session.c | 28 ++++++++++++++--------------
dlls/winhttp/winhttp_private.h | 18 +++++++++---------
4 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/dlls/winhttp/cookie.c b/dlls/winhttp/cookie.c
index 88365f5949..143091bcbc 100644
--- a/dlls/winhttp/cookie.c
+++ b/dlls/winhttp/cookie.c
@@ -45,7 +45,7 @@ struct domain
struct list cookies;
};
-static struct domain *add_domain( session_t *session, WCHAR *name )
+static struct domain *add_domain( struct session *session, WCHAR *name )
{
struct domain *domain;
@@ -117,7 +117,7 @@ static void delete_domain( struct domain *domain )
heap_free( domain );
}
-void destroy_cookies( session_t *session )
+void destroy_cookies( struct session *session )
{
struct list *item, *next;
struct domain *domain;
@@ -129,7 +129,7 @@ void destroy_cookies( session_t *session )
}
}
-static BOOL add_cookie( session_t *session, struct cookie *cookie, WCHAR *domain_name, WCHAR *path )
+static BOOL add_cookie( struct session *session, struct cookie *cookie, WCHAR *domain_name, WCHAR *path )
{
struct domain *domain = NULL;
struct cookie *old_cookie;
@@ -268,7 +268,7 @@ BOOL set_cookies( request_t *request, const WCHAR *cookies )
WCHAR *buffer, *p;
WCHAR *cookie_domain = NULL, *cookie_path = NULL;
struct attr *attr, *domain = NULL, *path = NULL;
- session_t *session = request->connect->session;
+ struct session *session = request->connect->session;
struct cookie *cookie;
int len, used;
@@ -324,7 +324,7 @@ end:
BOOL add_cookie_headers( request_t *request )
{
struct list *domain_cursor;
- session_t *session = request->connect->session;
+ struct session *session = request->connect->session;
EnterCriticalSection( &session->cs );
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 7f3ef4c50d..8add6c973a 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -1538,7 +1538,7 @@ static DWORD map_secure_protocols( DWORD mask )
return ret;
}
-static BOOL ensure_cred_handle( session_t *session )
+static BOOL ensure_cred_handle( struct session *session )
{
SECURITY_STATUS status = SEC_E_OK;
@@ -2176,7 +2176,7 @@ static BOOL send_request( request_t *request, LPCWSTR headers, DWORD headers_len
BOOL ret = FALSE;
connect_t *connect = request->connect;
- session_t *session = connect->session;
+ struct session *session = connect->session;
char *wire_req;
int bytes_sent;
DWORD len, i, flags;
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index 88043462af..76074d3032 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -88,7 +88,7 @@ BOOL WINAPI WinHttpCheckPlatform( void )
*/
static void session_destroy( struct object_header *hdr )
{
- session_t *session = (session_t *)hdr;
+ struct session *session = (struct session *)hdr;
TRACE("%p\n", session);
@@ -108,7 +108,7 @@ static void session_destroy( struct object_header *hdr )
static BOOL session_query_option( struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen )
{
- session_t *session = (session_t *)hdr;
+ struct session *session = (struct session *)hdr;
switch (option)
{
@@ -159,7 +159,7 @@ static BOOL session_query_option( struct object_header *hdr, DWORD option, void
static BOOL session_set_option( struct object_header *hdr, DWORD option, void *buffer, DWORD buflen )
{
- session_t *session = (session_t *)hdr;
+ struct session *session = (struct session *)hdr;
switch (option)
{
@@ -258,12 +258,12 @@ static const struct object_vtbl session_vtbl =
*/
HINTERNET WINAPI WinHttpOpen( LPCWSTR agent, DWORD access, LPCWSTR proxy, LPCWSTR bypass, DWORD flags )
{
- session_t *session;
+ struct session *session;
HINTERNET handle = NULL;
TRACE("%s, %u, %s, %s, 0x%08x\n", debugstr_w(agent), access, debugstr_w(proxy), debugstr_w(bypass), flags);
- if (!(session = heap_alloc_zero( sizeof(session_t) ))) return NULL;
+ if (!(session = heap_alloc_zero( sizeof(struct session) ))) return NULL;
session->hdr.type = WINHTTP_HANDLE_TYPE_SESSION;
session->hdr.vtbl = &session_vtbl;
@@ -447,7 +447,7 @@ static BOOL domain_matches(LPCWSTR server, LPCWSTR domain)
/* Matches INTERNET_MAX_HOST_NAME_LENGTH in wininet.h, also RFC 1035 */
#define MAX_HOST_NAME_LENGTH 256
-static BOOL should_bypass_proxy(session_t *session, LPCWSTR server)
+static BOOL should_bypass_proxy(struct session *session, LPCWSTR server)
{
LPCWSTR ptr;
BOOL ret = FALSE;
@@ -480,7 +480,7 @@ static BOOL should_bypass_proxy(session_t *session, LPCWSTR server)
BOOL set_server_for_hostname( connect_t *connect, LPCWSTR server, INTERNET_PORT port )
{
- session_t *session = connect->session;
+ struct session *session = connect->session;
BOOL ret = TRUE;
if (session->proxy_server && !should_bypass_proxy(session, server))
@@ -546,7 +546,7 @@ end:
HINTERNET WINAPI WinHttpConnect( HINTERNET hsession, LPCWSTR server, INTERNET_PORT port, DWORD reserved )
{
connect_t *connect;
- session_t *session;
+ struct session *session;
HINTERNET hconnect = NULL;
TRACE("%p, %s, %u, %x\n", hsession, debugstr_w(server), port, reserved);
@@ -556,7 +556,7 @@ HINTERNET WINAPI WinHttpConnect( HINTERNET hsession, LPCWSTR server, INTERNET_PO
set_last_error( ERROR_INVALID_PARAMETER );
return NULL;
}
- if (!(session = (session_t *)grab_object( hsession )))
+ if (!(session = (struct session *)grab_object( hsession )))
{
set_last_error( ERROR_INVALID_HANDLE );
return NULL;
@@ -1003,7 +1003,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
}
case WINHTTP_OPTION_PROXY_USERNAME:
{
- session_t *session = request->connect->session;
+ struct session *session = request->connect->session;
heap_free( session->proxy_username );
if (!(session->proxy_username = buffer_to_str( buffer, buflen ))) return FALSE;
@@ -1011,7 +1011,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
}
case WINHTTP_OPTION_PROXY_PASSWORD:
{
- session_t *session = request->connect->session;
+ struct session *session = request->connect->session;
heap_free( session->proxy_password );
if (!(session->proxy_password = buffer_to_str( buffer, buflen ))) return FALSE;
@@ -1886,14 +1886,14 @@ BOOL WINAPI WinHttpGetProxyForUrl( HINTERNET hsession, LPCWSTR url, WINHTTP_AUTO
{
WCHAR *detected_pac_url = NULL;
const WCHAR *pac_url;
- session_t *session;
+ struct session *session;
char *script;
DWORD size;
BOOL ret = FALSE;
TRACE("%p, %s, %p, %p\n", hsession, debugstr_w(url), options, info);
- if (!(session = (session_t *)grab_object( hsession )))
+ if (!(session = (struct session *)grab_object( hsession )))
{
set_last_error( ERROR_INVALID_HANDLE );
return FALSE;
@@ -2114,7 +2114,7 @@ BOOL WINAPI WinHttpSetTimeouts( HINTERNET handle, int resolve, int connect, int
}
case WINHTTP_HANDLE_TYPE_SESSION:
{
- session_t *session = (session_t *)hdr;
+ struct session *session = (struct session *)hdr;
session->connect_timeout = connect;
if (resolve < 0) resolve = 0;
diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h
index 999f3d7484..9e838eea40 100644
--- a/dlls/winhttp/winhttp_private.h
+++ b/dlls/winhttp/winhttp_private.h
@@ -75,32 +75,32 @@ struct hostdata
struct list connections;
};
-typedef struct
+struct session
{
struct object_header hdr;
CRITICAL_SECTION cs;
- LPWSTR agent;
+ WCHAR *agent;
DWORD access;
int resolve_timeout;
int connect_timeout;
int send_timeout;
int receive_timeout;
int receive_response_timeout;
- LPWSTR proxy_server;
- LPWSTR proxy_bypass;
- LPWSTR proxy_username;
- LPWSTR proxy_password;
+ WCHAR *proxy_server;
+ WCHAR *proxy_bypass;
+ WCHAR *proxy_username;
+ WCHAR *proxy_password;
struct list cookie_cache;
HANDLE unload_event;
CredHandle cred_handle;
BOOL cred_handle_initialized;
DWORD secure_protocols;
-} session_t;
+};
typedef struct
{
struct object_header hdr;
- session_t *session;
+ struct session *session;
LPWSTR hostname; /* final destination of the request */
LPWSTR servername; /* name of the server we directly connect to */
LPWSTR username;
@@ -286,7 +286,7 @@ int netconn_get_cipher_strength( netconn_t * ) DECLSPEC_HIDDEN;
BOOL set_cookies( request_t *, const WCHAR * ) DECLSPEC_HIDDEN;
BOOL add_cookie_headers( request_t * ) DECLSPEC_HIDDEN;
BOOL add_request_headers( request_t *, LPCWSTR, DWORD, DWORD ) DECLSPEC_HIDDEN;
-void destroy_cookies( session_t * ) DECLSPEC_HIDDEN;
+void destroy_cookies( struct session * ) DECLSPEC_HIDDEN;
BOOL set_server_for_hostname( connect_t *, LPCWSTR, INTERNET_PORT ) DECLSPEC_HIDDEN;
void destroy_authinfo( struct authinfo * ) DECLSPEC_HIDDEN;
--
2.11.0
1
0
[PATCH v4] mfplat: Improve CreateObjectFromByteStream stub in IMFSourceResolver.
by Sven Baars 22 Nov '18
by Sven Baars 22 Nov '18
22 Nov '18
Signed-off-by: Sven Baars <sven.wine(a)gmail.com>
---
v4: Rebased on top of Alistair's commit. I also used his naming convention while at it.
dlls/mfplat/main.c | 187 +++++++++++++++++++++++++++++++++++++
dlls/mfplat/tests/mfplat.c | 78 +++++++++++++++-
include/mfidl.idl | 36 +++++++
3 files changed, 299 insertions(+), 2 deletions(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index 46a697538c..62461bb5f7 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -1315,6 +1315,174 @@ HRESULT WINAPI MFGetPluginControl(IMFPluginControl **ret)
return S_OK;
}
+typedef struct _mfsource
+{
+ IMFMediaSource IMFMediaSource_iface;
+ LONG ref;
+} mfsource;
+
+static inline mfsource *impl_from_IMFMediaSource(IMFMediaSource *iface)
+{
+ return CONTAINING_RECORD(iface, mfsource, IMFMediaSource_iface);
+}
+
+static HRESULT WINAPI mfsource_QueryInterface(IMFMediaSource *iface, REFIID riid, void **out)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), out);
+
+ if (IsEqualIID(riid, &IID_IMFMediaSource) ||
+ IsEqualIID(riid, &IID_IMFMediaEventGenerator) ||
+ IsEqualIID(riid, &IID_IUnknown))
+ {
+ *out = &This->IMFMediaSource_iface;
+ }
+ else
+ {
+ FIXME("(%s, %p)\n", debugstr_guid(riid), out);
+ *out = NULL;
+ return E_NOINTERFACE;
+ }
+
+ IUnknown_AddRef((IUnknown*)*out);
+ return S_OK;
+}
+
+static ULONG WINAPI mfsource_AddRef(IMFMediaSource *iface)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+ ULONG ref = InterlockedIncrement(&This->ref);
+
+ TRACE("(%p) ref=%u\n", This, ref);
+
+ return ref;
+}
+
+static ULONG WINAPI mfsource_Release(IMFMediaSource *iface)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+ ULONG ref = InterlockedDecrement(&This->ref);
+
+ TRACE("(%p) ref=%u\n", This, ref);
+
+ if (!ref)
+ {
+ HeapFree(GetProcessHeap(), 0, This);
+ }
+
+ return ref;
+}
+
+static HRESULT WINAPI mfsource_GetEvent(IMFMediaSource *iface, DWORD flags, IMFMediaEvent **event)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p)->(%#x, %p)\n", This, flags, event);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_BeginGetEvent(IMFMediaSource *iface, IMFAsyncCallback *callback, IUnknown *state)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p)->(%p, %p)\n", This, callback, state);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_EndGetEvent(IMFMediaSource *iface, IMFAsyncResult *result, IMFMediaEvent **event)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p)->(%p, %p)\n", This, result, event);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_QueueEvent(IMFMediaSource *iface, MediaEventType event_type, REFGUID ext_type,
+ HRESULT hr, const PROPVARIANT *value)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p)->(%d, %s, %#x, %p)\n", This, event_type, debugstr_guid(ext_type), hr, value);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_GetCharacteristics(IMFMediaSource *iface, DWORD *characteristics)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p)->(%p): stub\n", This, characteristics);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_CreatePresentationDescriptor(IMFMediaSource *iface, IMFPresentationDescriptor **descriptor)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p)->(%p): stub\n", This, descriptor);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_Start(IMFMediaSource *iface, IMFPresentationDescriptor *descriptor,
+ const GUID *time_format, const PROPVARIANT *start_position)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p)->(%p, %p, %p): stub\n", This, descriptor, time_format, start_position);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_Stop(IMFMediaSource *iface)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p): stub\n", This);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_Pause(IMFMediaSource *iface)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p): stub\n", This);
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI mfsource_Shutdown(IMFMediaSource *iface)
+{
+ mfsource *This = impl_from_IMFMediaSource(iface);
+
+ FIXME("(%p): stub\n", This);
+
+ return S_OK;
+}
+
+static const IMFMediaSourceVtbl mfsourcevtbl =
+{
+ mfsource_QueryInterface,
+ mfsource_AddRef,
+ mfsource_Release,
+ mfsource_GetEvent,
+ mfsource_BeginGetEvent,
+ mfsource_EndGetEvent,
+ mfsource_QueueEvent,
+ mfsource_GetCharacteristics,
+ mfsource_CreatePresentationDescriptor,
+ mfsource_Start,
+ mfsource_Stop,
+ mfsource_Pause,
+ mfsource_Shutdown,
+};
+
typedef struct _mfsourceresolver
{
IMFSourceResolver IMFSourceResolver_iface;
@@ -1388,6 +1556,25 @@ static HRESULT WINAPI mfsourceresolver_CreateObjectFromByteStream(IMFSourceResol
FIXME("(%p)->(%p, %s, %#x, %p, %p, %p): stub\n", This, stream, debugstr_w(url), flags, props, obj_type, object);
+ if (!stream || !obj_type || !object)
+ return E_POINTER;
+
+ if (flags & MF_RESOLUTION_MEDIASOURCE)
+ {
+ mfsource *new_object;
+
+ new_object = HeapAlloc( GetProcessHeap(), 0, sizeof(*object) );
+ if (!new_object)
+ return E_OUTOFMEMORY;
+
+ new_object->IMFMediaSource_iface.lpVtbl = &mfsourcevtbl;
+ new_object->ref = 1;
+
+ *object = (IUnknown *)&new_object->IMFMediaSource_iface;
+ *obj_type = MF_OBJECT_MEDIASOURCE;
+ return S_OK;
+ }
+
return E_NOTIMPL;
}
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 48a8d0d361..d0f7ea4c98 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -42,6 +42,8 @@ static HRESULT (WINAPI *pMFCreateMemoryBuffer)(DWORD max_length, IMFMediaBuffer
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
+DEFINE_GUID(MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289,0x3cb6,0x460c,0xa4,0x24,0xb6,0x68,0x12,0x60,0x37,0x5a);
+
DEFINE_GUID(MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS, 0xa634a91c, 0x822b, 0x41b9, 0xa4, 0x94, 0x4d, 0xe4, 0x64, 0x36, 0x12, 0xb0);
DEFINE_GUID(MFT_CATEGORY_OTHER, 0x90175d57,0xb7ea,0x4901,0xae,0xb3,0x93,0x3a,0x87,0x47,0x75,0x6f);
@@ -200,7 +202,14 @@ if(0)
static void test_source_resolver(void)
{
IMFSourceResolver *resolver, *resolver2;
+ IMFByteStream *bytestream;
+ IMFAttributes *attributes;
+ IMFMediaSource *mediasource;
+ MF_OBJECT_TYPE obj_type;
HRESULT hr;
+ WCHAR *filename;
+
+ static const WCHAR file_type[] = {'v','i','d','e','o','/','m','p','4',0};
if (!pMFCreateSourceResolver)
{
@@ -208,6 +217,9 @@ static void test_source_resolver(void)
return;
}
+ hr = MFStartup(MF_VERSION, MFSTARTUP_FULL);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
hr = pMFCreateSourceResolver(NULL);
ok(hr == E_POINTER, "got %#x\n", hr);
@@ -218,8 +230,70 @@ static void test_source_resolver(void)
ok(hr == S_OK, "got %#x\n", hr);
ok(resolver != resolver2, "Expected new instance\n");
- IMFSourceResolver_Release(resolver);
IMFSourceResolver_Release(resolver2);
+
+ filename = load_resource(mp4file);
+
+ hr = MFCreateFile(MF_ACCESSMODE_READ, MF_OPENMODE_FAIL_IF_NOT_EXIST,
+ MF_FILEFLAGS_NONE, filename, &bytestream);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ hr = IMFSourceResolver_CreateObjectFromByteStream(
+ resolver, NULL, NULL, MF_RESOLUTION_MEDIASOURCE, NULL,
+ &obj_type, (IUnknown **)&mediasource);
+ ok(hr == E_POINTER, "got 0x%08x\n", hr);
+
+ hr = IMFSourceResolver_CreateObjectFromByteStream(
+ resolver, bytestream, NULL, MF_RESOLUTION_MEDIASOURCE, NULL,
+ NULL, (IUnknown **)&mediasource);
+ ok(hr == E_POINTER, "got 0x%08x\n", hr);
+
+ hr = IMFSourceResolver_CreateObjectFromByteStream(
+ resolver, bytestream, NULL, MF_RESOLUTION_MEDIASOURCE, NULL,
+ &obj_type, NULL);
+ ok(hr == E_POINTER, "got 0x%08x\n", hr);
+
+ hr = IMFSourceResolver_CreateObjectFromByteStream(
+ resolver, bytestream, NULL, MF_RESOLUTION_MEDIASOURCE, NULL,
+ &obj_type, (IUnknown **)&mediasource);
+ todo_wine ok(hr == MF_E_UNSUPPORTED_BYTESTREAM_TYPE, "got 0x%08x\n", hr);
+ if (hr == S_OK) IMFMediaSource_Release(mediasource);
+
+ hr = IMFSourceResolver_CreateObjectFromByteStream(
+ resolver, bytestream, NULL, MF_RESOLUTION_BYTESTREAM, NULL,
+ &obj_type, (IUnknown **)&mediasource);
+ todo_wine ok(hr == MF_E_UNSUPPORTED_BYTESTREAM_TYPE, "got 0x%08x\n", hr);
+
+ IMFByteStream_Release(bytestream);
+
+ /* We have to create a new bytestream here, because all following
+ * calls to CreateObjectFromByteStream will fail. */
+ hr = MFCreateFile(MF_ACCESSMODE_READ, MF_OPENMODE_FAIL_IF_NOT_EXIST,
+ MF_FILEFLAGS_NONE, filename, &bytestream);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+
+ hr = IUnknown_QueryInterface(bytestream, &IID_IMFAttributes,
+ (void **)&attributes);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ hr = IMFAttributes_SetString(attributes, &MF_BYTESTREAM_CONTENT_TYPE, file_type);
+ todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+ IMFAttributes_Release(attributes);
+
+ hr = IMFSourceResolver_CreateObjectFromByteStream(
+ resolver, bytestream, NULL, MF_RESOLUTION_MEDIASOURCE, NULL,
+ &obj_type, (IUnknown **)&mediasource);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(mediasource != NULL, "got %p\n", mediasource);
+ ok(obj_type == MF_OBJECT_MEDIASOURCE, "got %d\n", obj_type);
+
+ IMFMediaSource_Release(mediasource);
+ IMFByteStream_Release(bytestream);
+
+ IMFSourceResolver_Release(resolver);
+
+ MFShutdown();
+
+ DeleteFileW(filename);
}
static void init_functions(void)
@@ -619,7 +693,6 @@ START_TEST(mfplat)
init_functions();
test_register();
- test_source_resolver();
test_MFCreateMediaType();
test_MFCreateMediaEvent();
test_MFCreateAttributes();
@@ -627,6 +700,7 @@ START_TEST(mfplat)
test_MFCreateFile();
test_MFCreateMFByteStreamOnStream();
test_MFCreateMemoryBuffer();
+ test_source_resolver();
CoUninitialize();
}
diff --git a/include/mfidl.idl b/include/mfidl.idl
index 170588bb5f..2373e418be 100644
--- a/include/mfidl.idl
+++ b/include/mfidl.idl
@@ -313,3 +313,39 @@ cpp_quote(" IMFMediaType **types, IMFStreamDescriptor **descriptor);")
cpp_quote("HRESULT WINAPI MFCreateTopology(IMFTopology **topology);")
cpp_quote("HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *array);")
cpp_quote("HRESULT WINAPI MFGetService(IUnknown *object, REFGUID service, REFIID iid, void **obj);")
+
+[
+ object,
+ uuid(279a808d-aec7-40c8-9c6b-a6b492c78a66),
+]
+interface IMFMediaSource : IMFMediaEventGenerator
+{
+ HRESULT GetCharacteristics(
+ [out] DWORD *characteristics );
+
+ [local]
+ HRESULT CreatePresentationDescriptor(
+ [out] IMFPresentationDescriptor **descriptor );
+ [call_as(CreatePresentationDescriptor)]
+ HRESULT RemoteCreatePresentationDescriptor(
+ [out] DWORD *count,
+ [out, size_is(,*count)] BYTE **data,
+ [out] IMFPresentationDescriptor **descriptor );
+
+ HRESULT Start(
+ [in] IMFPresentationDescriptor *descriptor,
+ [in, unique] const GUID *time_format,
+ [in, unique] const PROPVARIANT *start_position );
+
+ HRESULT Stop();
+ HRESULT Pause();
+ HRESULT Shutdown();
+}
+
+cpp_quote("#define MF_RESOLUTION_MEDIASOURCE 0x00000001")
+cpp_quote("#define MF_RESOLUTION_BYTESTREAM 0x00000002")
+cpp_quote("#define MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE 0x00000010")
+cpp_quote("#define MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL 0x00000020")
+cpp_quote("#define MF_RESOLUTION_READ 0x00010000")
+cpp_quote("#define MF_RESOLUTION_WRITE 0x00020000")
+cpp_quote("#define MF_RESOLUTION_DISABLE_LOCAL_PLUGINS 0x00000040")
--
2.17.1
1
0
Hi,
I'm looking into getting the Mac preloader patches <https://github.com/wine-staging/wine-staging/tree/master/patches/loader-OSX…> upstreamed. The patches are mostly good as-is, but I have some things I'd like clarified, if possible.
* There's a configure check for "-Wl,--export-dynamic". As near as I can tell, the Mac linker doesn't and has never supported that option. The check seems to have been copied from the Linux and Android checks, but is apparently useless on macOS. What was the intent? Is there a chance that the patch is failing to ensure something necessary and it only works by luck?
There is a similarly-named option, "-export_dynamic" (only one leading dash, underscore instead of internal dash), in recent versions of the Mac linker but I'm not sure that it would achieve the intended purpose, since I'm not sure what that purpose is.
* There's a comment in the code:
/* there is no way to translate the dlopen handle to the mach header :-( */
and it uses a function find_executable() to search for the executable. I believe it should be possible to use dladdr(wine_main_preload_info, …) to find it. The dli_fbase field of the Dl_info struct is documented in the man page as pointing to the Mach header. Then, dyld exports __dyld_get_image_slide(const struct mach_header*) via _dyld_func_lookup().
So, the question is, was this considered and rejected? Or just not considered? If it was rejected, why?
Thanks,
Ken
2
1
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46172
Signed-off-by: Andrey Gusev <andrey.goosev(a)gmail.com>
---
dlls/slc/slc.c | 8 ++++++++
dlls/slc/slc.spec | 2 +-
include/slerror.h | 1 +
include/slpublic.h | 22 ++++++++++++++++++++++
4 files changed, 32 insertions(+), 1 deletion(-)
diff --git a/dlls/slc/slc.c b/dlls/slc/slc.c
index 7b7a6c6f77..ffecaa07bf 100644
--- a/dlls/slc/slc.c
+++ b/dlls/slc/slc.c
@@ -31,6 +31,14 @@
WINE_DEFAULT_DEBUG_CHANNEL(slc);
+HRESULT WINAPI SLGetLicensingStatusInformation(HSLC handle, const SLID *app, const SLID *product,
+ LPCWSTR name, UINT *count, SL_LICENSING_STATUS **status)
+{
+ FIXME("(%p %p %p %s %p %p) stub\n", handle, app, product, debugstr_w(name), count, status );
+
+ return SL_E_RIGHT_NOT_CONSUMED;
+}
+
HRESULT WINAPI SLGetWindowsInformation(LPCWSTR name, SLDATATYPE *type, UINT *val, LPBYTE *size)
{
FIXME("(%s %p %p %p) stub\n", debugstr_w(name), type, val, size );
diff --git a/dlls/slc/slc.spec b/dlls/slc/slc.spec
index e4289d3ae1..57e55728c1 100644
--- a/dlls/slc/slc.spec
+++ b/dlls/slc/slc.spec
@@ -16,7 +16,7 @@
@ stub SLGetLicense
@ stub SLGetLicenseFileId
@ stub SLGetLicenseInformation
-@ stub SLGetLicensingStatusInformation
+@ stdcall SLGetLicensingStatusInformation(ptr ptr ptr wstr ptr ptr)
@ stub SLGetPKeyId
@ stub SLGetPKeyInformation
@ stub SLGetPolicyInformation
diff --git a/include/slerror.h b/include/slerror.h
index 8b45d99901..4980a96e73 100644
--- a/include/slerror.h
+++ b/include/slerror.h
@@ -19,6 +19,7 @@
#ifndef __WINE_SLERROR_H
#define __WINE_SLERROR_H
+#define SL_E_RIGHT_NOT_CONSUMED 0xC004F002
#define SL_E_VALUE_NOT_FOUND 0xC004F012
#define SL_E_RIGHT_NOT_GRANTED 0xC004F013
#define SL_E_DATATYPE_MISMATCHED 0xC004F01E
diff --git a/include/slpublic.h b/include/slpublic.h
index dc02f3ce08..97fa8c798c 100644
--- a/include/slpublic.h
+++ b/include/slpublic.h
@@ -29,6 +29,8 @@ extern "C" {
#define SLCAPI DECLSPEC_IMPORT
#endif
+typedef GUID SLID;
+
typedef PVOID HSLC;
typedef enum _tagSLDATATYPE
@@ -41,6 +43,26 @@ typedef enum _tagSLDATATYPE
SL_DATA_SUM = 100,
} SLDATATYPE;
+typedef enum _tagSLLICENSINGSTATUS
+{
+ SL_LICENSING_STATUS_UNLICENSED,
+ SL_LICENSING_STATUS_LICENSED,
+ SL_LICENSING_STATUS_IN_GRACE_PERIOD,
+ SL_LICENSING_STATUS_NOTIFICATION,
+ SL_LICENSING_STATUS_LAST
+} SLLICENSINGSTATUS;
+
+typedef struct _tagSL_LICENSING_STATUS
+{
+ SLID SkuId;
+ SLLICENSINGSTATUS eStatus;
+ DWORD dwGraceTime;
+ DWORD dwTotalGraceDays;
+ HRESULT hrReason;
+ UINT64 qwValidityExpiration;
+} SL_LICENSING_STATUS;
+
+SLCAPI HRESULT WINAPI SLGetLicensingStatusInformation(HSLC, const SLID*, const SLID*, LPCWSTR, UINT*, SL_LICENSING_STATUS**);
SLCAPI HRESULT WINAPI SLGetWindowsInformation(LPCWSTR, SLDATATYPE*, UINT*, LPBYTE*);
SLCAPI HRESULT WINAPI SLGetWindowsInformationDWORD(LPCWSTR, LPDWORD);
SLCAPI HRESULT WINAPI SLOpen(HSLC*);
--
2.17.2
1
0
[PATCH v5 1/8] comctl32/tests: Confirm that emptying the listbox sends a LB_RESETCONTENT to itself
by Gabriel Ivăncescu 22 Nov '18
by Gabriel Ivăncescu 22 Nov '18
22 Nov '18
Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com>
---
dlls/comctl32/tests/listbox.c | 72 +++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/dlls/comctl32/tests/listbox.c b/dlls/comctl32/tests/listbox.c
index 43da3ca..9158e36 100644
--- a/dlls/comctl32/tests/listbox.c
+++ b/dlls/comctl32/tests/listbox.c
@@ -34,6 +34,7 @@
enum seq_index
{
+ LB_SEQ_INDEX,
PARENT_SEQ_INDEX,
NUM_MSG_SEQUENCES
};
@@ -110,6 +111,43 @@ static HWND create_listbox(DWORD add_style, HWND parent)
return handle;
}
+static WNDPROC lb_test_subclass_proc_prev;
+static LRESULT WINAPI lb_test_subclass_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ static LONG defwndproc_counter = 0;
+ struct message msg = { 0 };
+ LRESULT ret;
+
+ switch (message)
+ {
+ case WM_SIZE:
+ case WM_GETTEXT:
+ case WM_PAINT:
+ case WM_ERASEBKGND:
+ case WM_WINDOWPOSCHANGING:
+ case WM_WINDOWPOSCHANGED:
+ case WM_NCCALCSIZE:
+ case WM_NCPAINT:
+ case WM_NCHITTEST:
+ case WM_DEVICECHANGE:
+ break;
+
+ default:
+ msg.message = message;
+ msg.flags = sent|wparam|lparam;
+ if (defwndproc_counter) msg.flags |= defwinproc;
+ msg.wParam = wParam;
+ msg.lParam = lParam;
+ add_message(sequences, LB_SEQ_INDEX, &msg);
+ }
+
+ defwndproc_counter++;
+ ret = CallWindowProcA(lb_test_subclass_proc_prev, hwnd, message, wParam, lParam);
+ defwndproc_counter--;
+
+ return ret;
+}
+
struct listbox_prop
{
DWORD add_style;
@@ -167,6 +205,15 @@ static void keypress(HWND handle, WPARAM keycode, BYTE scancode, BOOL extended)
static void run_test(DWORD style, const struct listbox_test test)
{
+ static const struct message delete_seq[] =
+ {
+ { LB_DELETESTRING, sent|wparam|lparam, 0, 0 },
+ { LB_DELETESTRING, sent|wparam|lparam, 0, 0 },
+ { LB_DELETESTRING, sent|wparam|lparam, 0, 0 },
+ { LB_DELETESTRING, sent|wparam|lparam, 0, 0 },
+ { LB_RESETCONTENT, sent|wparam|lparam|defwinproc, 0, 0 },
+ { 0 }
+ };
struct listbox_stat answer;
RECT second_item;
int i, res;
@@ -227,6 +274,17 @@ static void run_test(DWORD style, const struct listbox_test test)
res = SendMessageA(hLB, LB_GETCOUNT, 0, 0);
ok(res == 4, "Expected 4 items, got %d\n", res);
+ /* Confirm that emptying the listbox sends a LB_RESETCONTENT to itself */
+ lb_test_subclass_proc_prev = (WNDPROC)SetWindowLongPtrW(hLB, GWLP_WNDPROC, (LONG_PTR)lb_test_subclass_proc);
+
+ flush_sequence(sequences, LB_SEQ_INDEX);
+ for (i = 4; i--;)
+ {
+ res = SendMessageA(hLB, LB_DELETESTRING, 0, 0);
+ ok(res == i, "Expected %d items, got %d\n", i, res);
+ }
+ ok_sequence(sequences, LB_SEQ_INDEX, delete_seq, "Emptying listbox", FALSE);
+
DestroyWindow(hLB);
}
@@ -1763,6 +1821,12 @@ static void test_listbox_dlgdir(void)
static void test_set_count( void )
{
+ static const struct message setcount0_seq[] =
+ {
+ { LB_SETCOUNT, sent|wparam|lparam, 0, 0 },
+ { LB_RESETCONTENT, sent|wparam|lparam|defwinproc, 0, 0 },
+ { 0 }
+ };
static const DWORD styles[] =
{
LBS_OWNERDRAWFIXED,
@@ -1798,6 +1862,14 @@ static void test_set_count( void )
GetUpdateRect( listbox, &r, TRUE );
ok( !IsRectEmpty( &r ), "got empty rect\n");
+ /* Confirm that emptying the listbox sends a LB_RESETCONTENT to itself */
+ lb_test_subclass_proc_prev = (WNDPROC)SetWindowLongPtrW(listbox, GWLP_WNDPROC, (LONG_PTR)lb_test_subclass_proc);
+
+ flush_sequence(sequences, LB_SEQ_INDEX);
+ ret = SendMessageA(listbox, LB_SETCOUNT, 0, 0);
+ ok(ret == 0, "got %d\n", ret);
+ ok_sequence(sequences, LB_SEQ_INDEX, setcount0_seq, "LB_SETCOUNT 0", FALSE);
+
DestroyWindow( listbox );
for (i = 0; i < ARRAY_SIZE(styles); ++i)
--
2.19.1
3
11