]> granicus.if.org Git - curl/commitdiff
made Max-Age work as defined in the RFC.
authorDaniel Stenberg <daniel@haxx.se>
Wed, 27 Feb 2002 07:38:04 +0000 (07:38 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 27 Feb 2002 07:38:04 +0000 (07:38 +0000)
my brain damaged fix to not parse spaces as part of the value is now fixed
to instead strip off trailing spaces from values.

lib/cookie.c

index 0dc734571286e14592e69930ed3187d74c61d8c4..c80dbcc1e9c1ac70b74242980a927f1cfeab08e8 100644 (file)
@@ -141,9 +141,17 @@ Curl_cookie_add(struct CookieInfo *c,
 
         name[0]=what[0]=0; /* init the buffers */
         if(1 <= sscanf(ptr, "%" MAX_NAME_TXT "[^;=]=%"
-                       MAX_COOKIE_LINE_TXT "[^;\r\n ]",
+                       MAX_COOKIE_LINE_TXT "[^;\r\n]",
                        name, what)) {
-          /* this is a legal <what>=<this> pair */
+          /* this is a <name>=<what> pair */
+
+          /* Strip off trailing whitespace from the 'what' */
+          int len=strlen(what);
+          while(len && isspace((int)what[len-1])) {
+            what[len-1]=0;
+            len--;
+          }
+
           if(strequal("path", name)) {
             co->path=strdup(what);
           }
@@ -166,7 +174,7 @@ Curl_cookie_add(struct CookieInfo *c,
              */
             co->maxage = strdup(what);
             co->expires =
-              atoi((*co->maxage=='\"')?&co->maxage[1]:&co->maxage[0]);
+              atoi((*co->maxage=='\"')?&co->maxage[1]:&co->maxage[0]) + now;
           }
           else if(strequal("expires", name)) {
             co->expirestr=strdup(what);