the new cookie functions that require 'data' passed in
authorDaniel Stenberg <daniel@haxx.se>
Mon, 11 Aug 2003 09:56:06 +0000 (09:56 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 11 Aug 2003 09:56:06 +0000 (09:56 +0000)
lib/cookie.h
lib/easy.c
lib/sendf.c
lib/share.c
lib/transfer.c
lib/url.c

index a3a54c7..9be196a 100644 (file)
@@ -68,14 +68,18 @@ struct CookieInfo {
 #define MAX_NAME 256
 #define MAX_NAME_TXT "255"
 
+struct SessionHandle;
 /*
  * Add a cookie to the internal list of cookies. The domain and path arguments
  * are only used if the header boolean is TRUE.
  */
-struct Cookie *Curl_cookie_add(struct CookieInfo *, bool header, char *line,
+
+struct Cookie *Curl_cookie_add(struct SessionHandle *data,
+                               struct CookieInfo *, bool header, char *line,
                                char *domain, char *path);
 
-struct CookieInfo *Curl_cookie_init(char *, struct CookieInfo *, bool);
+struct CookieInfo *Curl_cookie_init(struct SessionHandle *data,
+                                    char *, struct CookieInfo *, bool);
 struct Cookie *Curl_cookie_getlist(struct CookieInfo *, char *, char *, bool);
 void Curl_cookie_freelist(struct Cookie *);
 void Curl_cookie_cleanup(struct CookieInfo *);
index 73f3d9c..ff75678 100644 (file)
@@ -319,7 +319,8 @@ CURL *curl_easy_duphandle(CURL *incurl)
   if(data->cookies)
     /* If cookies are enabled in the parent handle, we enable them
        in the clone as well! */
-    outcurl->cookies = Curl_cookie_init(data->cookies->filename,
+    outcurl->cookies = Curl_cookie_init(data,
+                                        data->cookies->filename,
                                         outcurl->cookies,
                                         data->set.cookiesession);
 
index e4983fa..b964bdd 100644 (file)
@@ -132,8 +132,8 @@ void curl_slist_free_all(struct curl_slist *list)
 
 void Curl_infof(struct SessionHandle *data, const char *fmt, ...)
 {
-  va_list ap;
-  if(data->set.verbose) {
+  if(data && data->set.verbose) {
+    va_list ap;
     char print_buffer[1024 + 1];
     va_start(ap, fmt);
     vsnprintf(print_buffer, 1024, fmt, ap);
index 37acef1..d883ff0 100644 (file)
@@ -79,7 +79,7 @@ curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
 
       case CURL_LOCK_DATA_COOKIE:
         if (!share->cookies) {
-          share->cookies = Curl_cookie_init( NULL, NULL, TRUE );
+          share->cookies = Curl_cookie_init(NULL, NULL, NULL, TRUE );
         }
         break;
 
index 8c42cb7..d9f3c8f 100644 (file)
@@ -709,7 +709,8 @@ CURLcode Curl_readwrite(struct connectdata *conn,
                     checkprefix("Set-Cookie:", k->p)) {
               Curl_share_lock(data, CURL_LOCK_DATA_COOKIE,
                               CURL_LOCK_ACCESS_SINGLE);
-              Curl_cookie_add(data->cookies, TRUE, k->p+11,
+              Curl_cookie_add(data,
+                              data->cookies, TRUE, k->p+11,
                               /* If there is a custom-set Host: name, use it
                                  here, or else use real peer host name. */
                               conn->allocptr.cookiehost?
@@ -1514,7 +1515,8 @@ CURLcode Curl_pretransfer(struct SessionHandle *data)
     struct curl_slist *list = data->change.cookielist;
     Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE);
     while(list) {
-      data->cookies = Curl_cookie_init(list->data,
+      data->cookies = Curl_cookie_init(data,
+                                       list->data,
                                        data->cookies,
                                        data->set.cookiesession);
       list = list->next;
index 4bd0270..03059d8 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -617,7 +617,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
      * Activate the cookie parser. This may or may not already
      * have been made.
      */
-    data->cookies = Curl_cookie_init(NULL, data->cookies,
+    data->cookies = Curl_cookie_init(data, NULL, data->cookies,
                                      data->set.cookiesession);
     break;
 #endif
@@ -1210,7 +1210,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
 
       /* check cookie list is set */
       if(!data->cookies)
-        data->cookies = Curl_cookie_init( NULL, NULL, TRUE );
+        data->cookies = Curl_cookie_init(data, NULL, NULL, TRUE );
       
       /* check for host cache not needed,
        * it will be done by curl_easy_perform */