]> granicus.if.org Git - curl/commitdiff
added curl_formfree()
authorDaniel Stenberg <daniel@haxx.se>
Fri, 17 Nov 2000 14:06:24 +0000 (14:06 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 17 Nov 2000 14:06:24 +0000 (14:06 +0000)
lib/formdata.c

index 1e15f3ce41e77e067ca996d0376ad12c4fecee28..cee0b0b0ea68c893a237e17398d114130985a2fc 100644 (file)
@@ -382,8 +382,8 @@ char *MakeFormBoundary(void)
 
   return retstring;
 }
 
+/* Used from http.c */ 
 void FormFree(struct FormData *form)
 {
   struct FormData *next;
@@ -391,6 +391,28 @@ void FormFree(struct FormData *form)
     next=form->next;  /* the following form line */
     free(form->line); /* free the line */
     free(form);       /* free the struct */
+  
+  } while((form=next)); /* continue */
+}
+
+/* external function to free up a whole form post chain */
+void curl_formfree(struct HttpPost *form)
+{
+  struct HttpPost *next;
+  do {
+    next=form->next;  /* the following form line */
+
+    /* recurse to sub-contents */
+    if(form->more)
+      curl_formfree(form->more);
+
+    if(form->name)
+      free(form->name); /* free the name */
+    if(form->contents)
+      free(form->contents); /* free the contents */
+    if(form->contenttype)
+      free(form->contenttype); /* free the content type */
+    free(form);       /* free the struct */
 
   } while((form=next)); /* continue */
 }