Jörn added glob_cleanup()
authorDaniel Stenberg <daniel@haxx.se>
Thu, 12 Oct 2000 09:12:24 +0000 (09:12 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 12 Oct 2000 09:12:24 +0000 (09:12 +0000)
src/urlglob.c

index 69d1e9b..01962f0 100644 (file)
@@ -222,6 +222,24 @@ int glob_url(URLGlob** glob, char* url, int *urlnum)
   return CURLE_OK;
 }
 
+void glob_cleanup(URLGlob* glob) {
+  int i, elem;
+
+  for (i = glob->size - 1; i >= 0; --i) {
+    if (!(i & 1)) {    /* even indexes contain literals */
+      free(glob->literal[i/2]);
+    } else {           /* odd indexes contain sets or ranges */
+      if (glob->pattern[i/2].type == UPTSet) {
+       for (elem = glob->pattern[i/2].content.Set.size - 1; elem >= 0; --elem) {
+         free(glob->pattern[i/2].content.Set.elements[elem]);
+       }
+       free(glob->pattern[i/2].content.Set.elements);
+      }
+    }
+  }
+  free(glob);
+}
+
 char *next_url(URLGlob *glob)
 {
   static int beenhere = 0;