]> diplodocus.org Git - nmh/blob - sbr/folder_free.c
sendsbr.c: Move interface to own file.
[nmh] / sbr / folder_free.c
1 /* folder_free.c -- free a folder/message structure
2 *
3 * This code is Copyright (c) 2002, by the authors of nmh. See the
4 * COPYRIGHT file in the root directory of the nmh distribution for
5 * complete copyright information.
6 */
7
8 #include "h/mh.h"
9 #include "folder_free.h"
10 #include "h/utils.h"
11 #include "lock_file.h"
12
13
14 void
15 folder_free (struct msgs *mp)
16 {
17 size_t i;
18 struct bvector *v;
19
20 if (!mp)
21 return;
22
23 free(mp->foldpath);
24
25 /* free the sequence names */
26 for (i = 0; i < svector_size (mp->msgattrs); i++)
27 free (svector_at (mp->msgattrs, i));
28 svector_free (mp->msgattrs);
29
30 for (i = 0, v = mp->msgstats; i < mp->num_msgstats; ++i, ++v) {
31 bvector_fini(v);
32 }
33 free (mp->msgstats);
34
35 /* Close/free the sequence file if it is open */
36
37 if (mp->seqhandle)
38 lkfclosedata (mp->seqhandle, mp->seqname);
39
40 free(mp->seqname);
41
42 bvector_free (mp->attrstats);
43 free (mp); /* free main folder structure */
44 }