https://git.reactos.org/?p=reactos.git;a=commitdiff;h=12381d5dc143664336bd0e670b273c7878685232

commit 12381d5dc143664336bd0e670b273c7878685232
Author:     Amine Khaldi <[email protected]>
AuthorDate: Mon Jun 4 03:57:34 2018 +0100
Commit:     Amine Khaldi <[email protected]>
CommitDate: Mon Jun 4 03:57:34 2018 +0100

    [WININET] Sync with Wine Staging 3.9. CORE-14656
---
 dll/win32/wininet/http.c     |  8 ++++++--
 dll/win32/wininet/internet.c | 22 ++++++++++------------
 media/doc/README.WINE        |  2 +-
 3 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/dll/win32/wininet/http.c b/dll/win32/wininet/http.c
index 06aac4bbea..35ea56ba9a 100644
--- a/dll/win32/wininet/http.c
+++ b/dll/win32/wininet/http.c
@@ -5112,7 +5112,8 @@ static DWORD HTTP_HttpSendRequestW(http_request_t 
*request, LPCWSTR lpszHeaders,
                                                  request->session->password, 
host))
                         {
                             heap_free(requestString);
-                            if(!drain_content(request, TRUE) == ERROR_SUCCESS) 
{
+                            if (drain_content(request, TRUE) != ERROR_SUCCESS)
+                            {
                                 FIXME("Could not drain content\n");
                                 http_release_netconn(request, FALSE);
                             }
@@ -5140,7 +5141,8 @@ static DWORD HTTP_HttpSendRequestW(http_request_t 
*request, LPCWSTR lpszHeaders,
                                                  NULL))
                         {
                             heap_free(requestString);
-                            if(!drain_content(request, TRUE) == ERROR_SUCCESS) 
{
+                            if (drain_content(request, TRUE) != ERROR_SUCCESS)
+                            {
                                 FIXME("Could not drain content\n");
                                 http_release_netconn(request, FALSE);
                             }
@@ -5168,6 +5170,8 @@ static DWORD HTTP_HttpSendRequestW(http_request_t 
*request, LPCWSTR lpszHeaders,
                 remove_header(request, szProxy_Authorization, TRUE);
                 destroy_authinfo(request->proxyAuthInfo);
                 request->proxyAuthInfo = NULL;
+                request->contentLength = 0;
+                request->netconn_stream.content_length = 0;
 
                 secure_proxy_connect = FALSE;
                 loop_next = TRUE;
diff --git a/dll/win32/wininet/internet.c b/dll/win32/wininet/internet.c
index 6f8632a2f4..3df84d1d73 100644
--- a/dll/win32/wininet/internet.c
+++ b/dll/win32/wininet/internet.c
@@ -970,6 +970,9 @@ static DWORD APPINFO_SetOption(object_header_t *hdr, DWORD 
option, void *buf, DW
         heap_free(ai->agent);
         if (!(ai->agent = heap_strdupW(buf))) return ERROR_OUTOFMEMORY;
         return ERROR_SUCCESS;
+    case INTERNET_OPTION_REFRESH:
+        FIXME("INTERNET_OPTION_REFRESH\n");
+        return ERROR_SUCCESS;
     }
 
     return INET_SetOption(hdr, option, buf, size);
@@ -2629,6 +2632,10 @@ BOOL WINAPI InternetQueryOptionA(HINTERNET hInternet, 
DWORD dwOption,
 DWORD INET_SetOption(object_header_t *hdr, DWORD option, void *buf, DWORD size)
 {
     switch(option) {
+    case INTERNET_OPTION_SETTINGS_CHANGED:
+        FIXME("INTERNETOPTION_SETTINGS_CHANGED semi-stub\n");
+        collect_connections(COLLECT_CONNECTIONS);
+        return ERROR_SUCCESS;
     case INTERNET_OPTION_CALLBACK:
         WARN("Not settable option %u\n", option);
         return ERROR_INTERNET_OPTION_NOT_SETTABLE;
@@ -2636,6 +2643,8 @@ DWORD INET_SetOption(object_header_t *hdr, DWORD option, 
void *buf, DWORD size)
     case INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER:
         WARN("Called on global option %u\n", option);
         return ERROR_INTERNET_INVALID_OPERATION;
+    case INTERNET_OPTION_REFRESH:
+        return ERROR_INTERNET_INCORRECT_HANDLE_TYPE;
     }
 
     return ERROR_INTERNET_INVALID_OPTION;
@@ -2681,11 +2690,6 @@ static DWORD set_global_option(DWORD option, void *buf, 
DWORD size)
         connect_timeout = *(ULONG*)buf;
         return ERROR_SUCCESS;
 
-    case INTERNET_OPTION_SETTINGS_CHANGED:
-        FIXME("INTERNETOPTION_SETTINGS_CHANGED semi-stub\n");
-        collect_connections(COLLECT_CONNECTIONS);
-        return ERROR_SUCCESS;
-
     case INTERNET_OPTION_SUPPRESS_BEHAVIOR:
         FIXME("INTERNET_OPTION_SUPPRESS_BEHAVIOR stub\n");
 
@@ -2696,7 +2700,7 @@ static DWORD set_global_option(DWORD option, void *buf, 
DWORD size)
         return ERROR_SUCCESS;
     }
 
-    return ERROR_INTERNET_INVALID_OPTION;
+    return INET_SetOption(NULL, option, buf, size);
 }
 
 /***********************************************************************
@@ -2977,12 +2981,6 @@ BOOL WINAPI InternetSetOptionW(HINTERNET hInternet, 
DWORD dwOption,
         ret = (res == ERROR_SUCCESS);
         break;
         }
-    case INTERNET_OPTION_SETTINGS_CHANGED:
-        FIXME("INTERNET_OPTION_SETTINGS_CHANGED; STUB\n");
-        break;
-    case INTERNET_OPTION_REFRESH:
-        FIXME("INTERNET_OPTION_REFRESH; STUB\n");
-        break;
     default:
         FIXME("Option %d STUB\n",dwOption);
         SetLastError(ERROR_INTERNET_INVALID_OPTION);
diff --git a/media/doc/README.WINE b/media/doc/README.WINE
index 528dd68127..9df16f6bba 100644
--- a/media/doc/README.WINE
+++ b/media/doc/README.WINE
@@ -201,7 +201,7 @@ 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.9
-reactos/dll/win32/wininet             # Synced to WineStaging-3.3
+reactos/dll/win32/wininet             # Synced to WineStaging-3.9
 reactos/dll/win32/winmm               # Forked at Wine-20050628
 reactos/dll/win32/winmm/midimap       # Forked at Wine-20050628
 reactos/dll/win32/winmm/wavemap       # Forked at Wine-20050628

Reply via email to