X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/0a032eea07f6d77ac6ea4d5a39c9491c34358058..9dbe14245aca0472b9df273d0fa477844819b8ec:/sbr/folder_read.c?ds=inline diff --git a/sbr/folder_read.c b/sbr/folder_read.c index 4e604431..044059fb 100644 --- a/sbr/folder_read.c +++ b/sbr/folder_read.c @@ -1,13 +1,16 @@ -/* - * folder_read.c -- initialize folder structure and read folder +/* folder_read.c -- initialize folder structure and read folder * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. */ -#include -#include +#include "h/mh.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 @@ -28,7 +31,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); @@ -59,7 +62,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) { @@ -69,7 +72,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 */ @@ -127,7 +130,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?"); } @@ -137,18 +140,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