https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0a44ccfa8090f083d835b2bc8660facb7cac019f

commit 0a44ccfa8090f083d835b2bc8660facb7cac019f
Author:     winesync <[email protected]>
AuthorDate: Tue Dec 8 18:00:48 2020 +0100
Commit:     Jérôme Gardou <[email protected]>
CommitDate: Tue Jan 5 11:03:13 2021 +0100

    [WINESYNC] wininet: Handle http_proxy variable entirely in Unicode.
    
    Signed-off-by: Alexandre Julliard <[email protected]>
    
    wine commit id cadad89d106186a9d0377607096a58677496ec50 by Alexandre 
Julliard <[email protected]>
---
 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

Reply via email to