Commit 599f3e87 authored by Mike Hearn's avatar Mike Hearn Committed by Alexandre Julliard

- Don't return NULL for proxy details if there is no proxy.

- Remove stub message, it seems to be complete.
parent e46047e4
...@@ -1951,20 +1951,31 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d ...@@ -1951,20 +1951,31 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
if (lpwai->lpszProxy) if (lpwai->lpszProxy)
{ {
pPI->lpszProxy = (LPWSTR)((LPBYTE)lpBuffer + pPI->lpszProxy = (LPWSTR)((LPBYTE)lpBuffer +
sizeof(INTERNET_PROXY_INFOW)); sizeof(INTERNET_PROXY_INFOW));
lstrcpyW((LPWSTR)pPI->lpszProxy, lpwai->lpszProxy); lstrcpyW((LPWSTR)pPI->lpszProxy, lpwai->lpszProxy);
} }
else else
pPI->lpszProxy = NULL; {
pPI->lpszProxy = (LPWSTR)((LPBYTE)lpBuffer +
sizeof(INTERNET_PROXY_INFOW));
*((LPWSTR)(pPI->lpszProxy)) = 0;
}
if (lpwai->lpszProxyBypass) if (lpwai->lpszProxyBypass)
{ {
pPI->lpszProxyBypass = (LPWSTR)((LPBYTE)lpBuffer + pPI->lpszProxyBypass = (LPWSTR)((LPBYTE)lpBuffer +
sizeof(INTERNET_PROXY_INFOW) + proxyBytesRequired); sizeof(INTERNET_PROXY_INFOW) +
proxyBytesRequired);
lstrcpyW((LPWSTR)pPI->lpszProxyBypass, lstrcpyW((LPWSTR)pPI->lpszProxyBypass,
lpwai->lpszProxyBypass); lpwai->lpszProxyBypass);
} }
else else
pPI->lpszProxyBypass = NULL; {
pPI->lpszProxyBypass = (LPWSTR)((LPBYTE)lpBuffer +
sizeof(INTERNET_PROXY_INFOW) +
proxyBytesRequired);
*((LPWSTR)(pPI->lpszProxyBypass)) = 0;
}
bSuccess = TRUE; bSuccess = TRUE;
} }
*lpdwBufferLength = sizeof(INTERNET_PROXY_INFOW) + *lpdwBufferLength = sizeof(INTERNET_PROXY_INFOW) +
...@@ -1987,16 +1998,20 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d ...@@ -1987,16 +1998,20 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
else else
{ {
pPI->dwAccessType = lpwai->dwAccessType; pPI->dwAccessType = lpwai->dwAccessType;
FIXME("INTERNET_OPTION_PROXY: Stub\n");
if (lpwai->lpszProxy) if (lpwai->lpszProxy)
{ {
pPI->lpszProxy = (LPSTR)((LPBYTE)lpBuffer + pPI->lpszProxy = (LPSTR)((LPBYTE)lpBuffer +
sizeof(INTERNET_PROXY_INFOA)); sizeof(INTERNET_PROXY_INFOA));
WideCharToMultiByte(CP_ACP, 0, lpwai->lpszProxy, -1, WideCharToMultiByte(CP_ACP, 0, lpwai->lpszProxy, -1,
(LPSTR)pPI->lpszProxy, proxyBytesRequired, NULL, NULL); (LPSTR)pPI->lpszProxy, proxyBytesRequired, NULL, NULL);
} }
else else
pPI->lpszProxy = NULL; {
pPI->lpszProxy = (LPSTR)((LPBYTE)lpBuffer +
sizeof(INTERNET_PROXY_INFOA));
*((LPSTR)(pPI->lpszProxy)) = '\0';
}
if (lpwai->lpszProxyBypass) if (lpwai->lpszProxyBypass)
{ {
pPI->lpszProxyBypass = (LPSTR)((LPBYTE)lpBuffer + pPI->lpszProxyBypass = (LPSTR)((LPBYTE)lpBuffer +
...@@ -2007,7 +2022,12 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d ...@@ -2007,7 +2022,12 @@ static BOOL INET_QueryOptionHelper(BOOL bIsUnicode, HINTERNET hInternet, DWORD d
NULL, NULL); NULL, NULL);
} }
else else
pPI->lpszProxyBypass = NULL; {
pPI->lpszProxyBypass = (LPSTR)((LPBYTE)lpBuffer +
sizeof(INTERNET_PROXY_INFOA) +
proxyBytesRequired);
*((LPSTR)(pPI->lpszProxyBypass)) = '\0';
}
bSuccess = TRUE; bSuccess = TRUE;
} }
*lpdwBufferLength = sizeof(INTERNET_PROXY_INFOA) + *lpdwBufferLength = sizeof(INTERNET_PROXY_INFOA) +
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment