Add %(unmailto) format function for List-Post headers
[mmh] / sbr / crawl_folders.c
index b59a8e7..7164616 100644 (file)
@@ -31,7 +31,7 @@ struct crawl_context {
 static void
 add_folder(char *fold, struct crawl_context *crawl)
 {
-       register int i, j;
+       int i, j;
 
        /* if necessary, reallocate the space for folder names */
        if (crawl->foldp >= crawl->max) {
@@ -68,7 +68,7 @@ add_children(char *name, struct crawl_context *crawl)
        }
 
        if (strcmp(name, ".") == 0) {
-               prefix = getcpy("");
+               prefix = mh_xstrdup("");
        } else {
                prefix = concat(name, "/", (void *)NULL);
        }
@@ -102,12 +102,12 @@ add_children(char *name, struct crawl_context *crawl)
                        /* add_folder saves child in the list, don't free it */
                        add_folder(child, crawl);
                } else {
-                       free(child);
+                       mh_free0(&child);
                }
        }
 
        closedir(dd);
-       free(prefix);
+       mh_free0(&prefix);
 }
 
 static void
@@ -142,10 +142,10 @@ crawl_folders_body(struct crawl_context *crawl, char *dir,
 void
 crawl_folders(char *dir, crawl_callback_t *callback, void *baton)
 {
-       struct crawl_context *crawl = mh_xmalloc(sizeof(*crawl));
+       struct crawl_context *crawl = mh_xcalloc(1, sizeof(*crawl));
        crawl->max = CRAWL_NUMFOLDERS;
        crawl->total = crawl->start = crawl->foldp = 0;
-       crawl->folders = mh_xmalloc(crawl->max * sizeof(*crawl->folders));
+       crawl->folders = mh_xcalloc(crawl->max, sizeof(*crawl->folders));
 
        crawl_folders_body(crawl, dir, callback, baton);
 
@@ -153,6 +153,6 @@ crawl_folders(char *dir, crawl_callback_t *callback, void *baton)
        ** Note that we "leak" the folder names, on the assumption that the
        ** caller is using them.
        */
-       free(crawl->folders);
-       free(crawl);
+       mh_free0(&(crawl->folders));
+       mh_free0(&crawl);
 }