Jacek Caban : wininet: Added real implementation of InternetQueryOption( INTERNET_OPTION_REQUEST_FLAGS).

Alexandre Julliard julliard at winehq.org
Thu May 24 14:58:13 CDT 2012


Module: wine
Branch: master
Commit: 27af81972fd9d78a5b28a4a638aa189cacbe9375
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=27af81972fd9d78a5b28a4a638aa189cacbe9375

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu May 24 15:24:43 2012 +0200

wininet: Added real implementation of InternetQueryOption(INTERNET_OPTION_REQUEST_FLAGS).

---

 dlls/wininet/http.c |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 0e3c1a3..2f64b03 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -2159,17 +2159,29 @@ static DWORD HTTPREQ_QueryOption(object_header_t *hdr, DWORD option, void *buffe
         *size = sizeof(DWORD);
         *(DWORD *)buffer = req->connect_timeout;
         return ERROR_SUCCESS;
-    case INTERNET_OPTION_REQUEST_FLAGS:
-        TRACE("INTERNET_OPTION_REQUEST_FLAGS\n");
+    case INTERNET_OPTION_REQUEST_FLAGS: {
+        DWORD flags = 0;
 
         if (*size < sizeof(DWORD))
             return ERROR_INSUFFICIENT_BUFFER;
 
-        *(DWORD*)buffer = 4;
-        *size = sizeof(DWORD);
+        /* FIXME: Add support for:
+         * INTERNET_REQFLAG_FROM_CACHE
+         * INTERNET_REQFLAG_CACHE_WRITE_DISABLED
+         */
+
+        if(req->session->appInfo->proxy)
+            flags |= INTERNET_REQFLAG_VIA_PROXY;
+        if(!req->rawHeaders)
+            flags |= INTERNET_REQFLAG_NO_HEADERS;
 
+        TRACE("INTERNET_OPTION_REQUEST_FLAGS returning %x\n", flags);
+
+        *size = sizeof(DWORD);
+        *(DWORD*)buffer = flags;
         return ERROR_SUCCESS;
     }
+    }
 
     return INET_QueryOption(hdr, option, buffer, size, unicode);
 }




More information about the wine-cvs mailing list