X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/177f020f122827214159c46dcfe7ded1e3c8d1c3..0813132987677a8b0cf3b4d0e8bf851657deeadd:/sbr/folder_read.c diff --git a/sbr/folder_read.c b/sbr/folder_read.c index b0638402..18a9ec14 100644 --- a/sbr/folder_read.c +++ b/sbr/folder_read.c @@ -5,8 +5,13 @@ * complete copyright information. */ -#include -#include +#include "h/mh.h" +#include "seq_read.h" +#include "m_atoi.h" +#include "folder_read.h" +#include "error.h" +#include "h/utils.h" +#include "m_maildir.h" /* We allocate the `mi' array 1024 elements at a time */ #define NUMMSGS 1024 @@ -27,7 +32,7 @@ folder_read (char *name, int lockflag) struct msgs *mp; struct dirent *dp; DIR *dd; - bvector_t *v; + struct bvector *v; size_t i; name = m_mailpath (name); @@ -58,7 +63,7 @@ folder_read (char *name, int lockflag) * name of the messages in this folder. */ len = NUMMSGS; - mi = (int *) mh_xmalloc ((size_t) (len * sizeof(*mi))); + mi = mh_xmalloc ((size_t) (len * sizeof(*mi))); while ((dp = readdir (dd))) { if ((msgnum = m_atoi (dp->d_name)) && msgnum > 0) { @@ -68,7 +73,7 @@ folder_read (char *name, int lockflag) */ if (mp->nummsg >= len) { len += NUMMSGS; - mi = (int *) mh_xrealloc (mi, (size_t) (len * sizeof(*mi))); + mi = mh_xrealloc (mi, (size_t) (len * sizeof(*mi))); } /* Check if this is the first message we've seen */ @@ -126,7 +131,7 @@ folder_read (char *name, int lockflag) */ if (mp->hghoff < mp->lowoff) { - adios(NULL, "Internal failure: high message limit < low message " + die("Internal failure: high message limit < low message " "limit; possible overflow?"); } @@ -136,18 +141,11 @@ folder_read (char *name, int lockflag) mp->num_msgstats = MSGSTATNUM (mp->lowoff, mp->hghoff); mp->msgstats = mh_xmalloc (MSGSTATSIZE(mp)); for (i = 0, v = mp->msgstats; i < mp->num_msgstats; ++i, ++v) { - *v = bvector_create (0); + bvector_init(v); } mp->msgattrs = svector_create (0); - /* - * Clear all the flag bits for all the message - * status entries we just allocated. - */ - for (msgnum = mp->lowoff; msgnum <= mp->hghoff; msgnum++) - clear_msg_flags (mp, msgnum); - /* * Scan through the array of messages we've seen and * setup the initial flags for those messages in the