https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0a44ccfa8090f083d835b2...
commit 0a44ccfa8090f083d835b2bc8660facb7cac019f Author: winesync ros-dev@reactos.org AuthorDate: Tue Dec 8 18:00:48 2020 +0100 Commit: Jérôme Gardou zefklop@users.noreply.github.com CommitDate: Tue Jan 5 11:03:13 2021 +0100
[WINESYNC] wininet: Handle http_proxy variable entirely in Unicode.
Signed-off-by: Alexandre Julliard julliard@winehq.org
wine commit id cadad89d106186a9d0377607096a58677496ec50 by Alexandre Julliard julliard@winehq.org --- dll/win32/wininet/internet.c | 26 +++++++------------------- sdk/tools/winesync/wininet.cfg | 2 +- 2 files changed, 8 insertions(+), 20 deletions(-)
diff --git a/dll/win32/wininet/internet.c b/dll/win32/wininet/internet.c index a10ca11ccc9..24f91a334e6 100644 --- a/dll/win32/wininet/internet.c +++ b/dll/win32/wininet/internet.c @@ -545,7 +545,7 @@ static LONG INTERNET_LoadProxySettings( proxyinfo_t *lpwpi ) { HKEY key; DWORD type, len; - LPCSTR envproxy; + const WCHAR *envproxy; LONG ret;
memset( lpwpi, 0, sizeof(*lpwpi) ); @@ -577,7 +577,7 @@ static LONG INTERNET_LoadProxySettings( proxyinfo_t *lpwpi ) } }
- if (!(envproxy = getenv( "http_proxy" )) || lpwpi->proxyEnabled) + if (!(envproxy = _wgetenv( L"http_proxy" )) || lpwpi->proxyEnabled) { /* figure out how much memory the proxy setting takes */ if (!RegQueryValueExW( key, szProxyServer, NULL, &type, NULL, &len ) && len && (type == REG_SZ)) @@ -619,18 +619,8 @@ static LONG INTERNET_LoadProxySettings( proxyinfo_t *lpwpi ) } else if (envproxy) { - WCHAR *envproxyW; - - len = MultiByteToWideChar( CP_UNIXCP, 0, envproxy, -1, NULL, 0 ); - if (!(envproxyW = heap_alloc(len * sizeof(WCHAR)))) - { - RegCloseKey( key ); - return ERROR_OUTOFMEMORY; - } - MultiByteToWideChar( CP_UNIXCP, 0, envproxy, -1, envproxyW, len ); - FreeProxyInfo( lpwpi ); - if (parse_proxy_url( lpwpi, envproxyW )) + if (parse_proxy_url( lpwpi, envproxy )) { TRACE("http proxy (from environment) = %s\n", debugstr_w(lpwpi->proxy)); lpwpi->proxyEnabled = 1; @@ -638,19 +628,18 @@ static LONG INTERNET_LoadProxySettings( proxyinfo_t *lpwpi ) } else { - WARN("failed to parse http_proxy value %s\n", debugstr_w(envproxyW)); + WARN("failed to parse http_proxy value %s\n", debugstr_w(envproxy)); lpwpi->proxyEnabled = 0; lpwpi->proxy = NULL; lpwpi->proxyBypass = NULL; } - heap_free( envproxyW ); }
if (lpwpi->proxyEnabled) { TRACE("Proxy is enabled.\n");
- if (!(envproxy = getenv( "no_proxy" ))) + if (!(envproxy = _wgetenv( L"no_proxy" ))) { /* figure out how much memory the proxy setting takes */ if (!RegQueryValueExW( key, szProxyOverride, NULL, &type, NULL, &len ) && len && (type == REG_SZ)) @@ -681,13 +670,12 @@ static LONG INTERNET_LoadProxySettings( proxyinfo_t *lpwpi ) { WCHAR *envproxyW;
- len = MultiByteToWideChar( CP_UNIXCP, 0, envproxy, -1, NULL, 0 ); - if (!(envproxyW = heap_alloc(len * sizeof(WCHAR)))) + if (!(envproxyW = heap_alloc(lstrlenW(envproxy) * sizeof(WCHAR)))) { RegCloseKey( key ); return ERROR_OUTOFMEMORY; } - MultiByteToWideChar( CP_UNIXCP, 0, envproxy, -1, envproxyW, len ); + lstrcpyW( envproxyW, envproxy );
heap_free( lpwpi->proxyBypass ); lpwpi->proxyBypass = envproxyW; diff --git a/sdk/tools/winesync/wininet.cfg b/sdk/tools/winesync/wininet.cfg index 4adb963d718..27e5d69264c 100644 --- a/sdk/tools/winesync/wininet.cfg +++ b/sdk/tools/winesync/wininet.cfg @@ -5,4 +5,4 @@ files: include/wininet.h: sdk/include/psdk/wininet.h include/winineti.h: sdk/include/psdk/winineti.h tags: - wine: 3c31cc5836026b45a40818ec874bbbcc4d6ad982 + wine: cadad89d106186a9d0377607096a58677496ec50