Juan Lang : wininet: Default to 10 minutes expiration for cache entries.

Alexandre Julliard julliard at winehq.org
Fri Mar 4 09:39:34 CST 2011


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu Mar  3 10:54:07 2011 -0800

wininet: Default to 10 minutes expiration for cache entries.

---

 dlls/wininet/http.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 85484bf..3254a25 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -3757,6 +3757,7 @@ static BOOL HTTP_ParseDate(LPCWSTR value, FILETIME *ft)
 
 static void HTTP_ProcessExpires(http_request_t *request)
 {
+    BOOL expirationFound = FALSE;
     int headerIndex;
 
     headerIndex = HTTP_GetCustomHeaderIndex(request, szExpires, 0, FALSE);
@@ -3766,7 +3767,20 @@ static void HTTP_ProcessExpires(http_request_t *request)
         FILETIME ft;
 
         if (HTTP_ParseDate(expiresHeader->lpszValue, &ft))
+        {
+            expirationFound = TRUE;
             request->expires = ft;
+        }
+    }
+    if (!expirationFound)
+    {
+        ULARGE_INTEGER ft;
+
+        /* With no known age, default to 10 minutes until expiration. */
+        GetSystemTimeAsFileTime((FILETIME *)&ft);
+        ft.QuadPart += 10 * 60 * 10000000;
+        request->expires.dwLowDateTime = ft.u.LowPart;
+        request->expires.dwHighDateTime = ft.u.HighPart;
     }
 }
 




More information about the wine-cvs mailing list