https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8317165d650291d2ee8c9fdc79bcbecb12a6266b

commit 8317165d650291d2ee8c9fdc79bcbecb12a6266b
Author:     Amine Khaldi <[email protected]>
AuthorDate: Mon Jun 4 03:56:48 2018 +0100
Commit:     Amine Khaldi <[email protected]>
CommitDate: Mon Jun 4 03:56:48 2018 +0100

    [WINHTTP] Sync with Wine Staging 3.9. CORE-14656
---
 dll/win32/winhttp/session.c | 33 ++++++++++++---------------------
 media/doc/README.WINE       |  2 +-
 2 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/dll/win32/winhttp/session.c b/dll/win32/winhttp/session.c
index cef533f1c0..7cfc240758 100644
--- a/dll/win32/winhttp/session.c
+++ b/dll/win32/winhttp/session.c
@@ -225,7 +225,7 @@ static BOOL session_set_option( object_header_t *hdr, DWORD 
option, LPVOID buffe
         return TRUE;
     default:
         FIXME("unimplemented option %u\n", option);
-        set_last_error( ERROR_INVALID_PARAMETER );
+        set_last_error( ERROR_WINHTTP_INVALID_OPTION );
         return FALSE;
     }
 }
@@ -1028,8 +1028,8 @@ static BOOL request_set_option( object_header_t *hdr, 
DWORD option, LPVOID buffe
         return TRUE;
     default:
         FIXME("unimplemented option %u\n", option);
-        set_last_error( ERROR_INVALID_PARAMETER );
-        return TRUE;
+        set_last_error( ERROR_WINHTTP_INVALID_OPTION );
+        return FALSE;
     }
 }
 
@@ -1583,29 +1583,21 @@ BOOL WINAPI WinHttpGetDefaultProxyConfiguration( 
WINHTTP_PROXY_INFO *info )
     }
     if (!got_from_reg && (envproxy = getenv( "http_proxy" )))
     {
-        char *colon, *http_proxy;
+        char *colon, *http_proxy = NULL;
 
-        if ((colon = strchr( envproxy, ':' )))
+        if (!(colon = strchr( envproxy, ':' ))) http_proxy = envproxy;
+        else
         {
             if (*(colon + 1) == '/' && *(colon + 2) == '/')
             {
-                static const char http[] = "http://";;
-
                 /* It's a scheme, check that it's http */
-                if (!strncmp( envproxy, http, strlen( http ) ))
-                    http_proxy = envproxy + strlen( http );
-                else
-                {
-                    WARN("unsupported scheme in $http_proxy: %s\n", envproxy);
-                    http_proxy = NULL;
-                }
+                if (!strncmp( envproxy, "http://";, 7 )) http_proxy = envproxy 
+ 7;
+                else WARN("unsupported scheme in $http_proxy: %s\n", envproxy);
             }
-            else
-                http_proxy = envproxy;
+            else http_proxy = envproxy;
         }
-        else
-            http_proxy = envproxy;
-        if (http_proxy)
+
+        if (http_proxy && http_proxy[0])
         {
             WCHAR *http_proxyW;
             int len;
@@ -1618,8 +1610,7 @@ BOOL WINAPI WinHttpGetDefaultProxyConfiguration( 
WINHTTP_PROXY_INFO *info )
                 info->dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY;
                 info->lpszProxy = http_proxyW;
                 info->lpszProxyBypass = NULL;
-                TRACE("http proxy (from environment) = %s\n",
-                    debugstr_w(info->lpszProxy));
+                TRACE("http proxy (from environment) = %s\n", 
debugstr_w(info->lpszProxy));
             }
         }
     }
diff --git a/media/doc/README.WINE b/media/doc/README.WINE
index f78e35a3ba..528dd68127 100644
--- a/media/doc/README.WINE
+++ b/media/doc/README.WINE
@@ -200,7 +200,7 @@ reactos/dll/win32/windowscodecs       # Synced to 
WineStaging-3.9
 reactos/dll/win32/windowscodecsext    # Synced to WineStaging-2.9
 reactos/dll/win32/winemp3.acm         # Synced to WineStaging-3.3
 reactos/dll/win32/wing32              # Synced to WineStaging-3.3
-reactos/dll/win32/winhttp             # Synced to WineStaging-3.3
+reactos/dll/win32/winhttp             # Synced to WineStaging-3.9
 reactos/dll/win32/wininet             # Synced to WineStaging-3.3
 reactos/dll/win32/winmm               # Forked at Wine-20050628
 reactos/dll/win32/winmm/midimap       # Forked at Wine-20050628

Reply via email to