]> diplodocus.org Git - nmh/blobdiff - sbr/folder_read.c
A little closer to being somewhat useful.
[nmh] / sbr / folder_read.c
index 4e60443178fb997485783826884ba1434748eac8..1129bab0050686b890b5e257885cbee2a421fa4c 100644 (file)
@@ -1,5 +1,4 @@
-/*
- * 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
@@ -8,6 +7,7 @@
 
 #include <h/mh.h>
 #include <h/utils.h>
+#include "m_maildir.h"
 
 /* We allocate the `mi' array 1024 elements at a time */
 #define        NUMMSGS  1024
@@ -28,7 +28,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 +59,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 +69,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 */
@@ -137,18 +137,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