]> diplodocus.org Git - nmh/blobdiff - sbr/folder_free.c
Sort JSON output from oauth tests so that comparisons don't
[nmh] / sbr / folder_free.c
index ebb58ab46bbb1d8d65b006443ea56c0009cce0bf..cad86dad42a451e56a761b918ced9fa477d30a25 100644 (file)
@@ -13,7 +13,8 @@
 void
 folder_free (struct msgs *mp)
 {
-    int i;
+    size_t i;
+    bvector_t *v;
 
     if (!mp)
        return;
@@ -22,9 +23,23 @@ folder_free (struct msgs *mp)
        free (mp->foldpath);
 
     /* free the sequence names */
-    for (i = 0; mp->msgattrs[i]; i++)
-       free (mp->msgattrs[i]);
+    for (i = 0; i < svector_size (mp->msgattrs); i++)
+       free (svector_at (mp->msgattrs, i));
+    svector_free (mp->msgattrs);
 
-    free (mp->msgstats);       /* free message status area   */
+    for (i = 0, v = mp->msgstats; i < mp->num_msgstats; ++i, ++v) {
+       bvector_free (*v);
+    }
+    free (mp->msgstats);
+
+    /* Close/free the sequence file if it is open */
+
+    if (mp->seqhandle)
+       lkfclosedata (mp->seqhandle, mp->seqname);
+
+    if (mp->seqname)
+       free (mp->seqname);
+
+    bvector_free (mp->attrstats);
     free (mp);                 /* free main folder structure */
 }