X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/2d5d9e243c91784909b11948894e3ba0989107c0..94187a80bd60baab4b9c4b949ad820d730578123:/sbr/folder_read.c diff --git a/sbr/folder_read.c b/sbr/folder_read.c index e4bac904..1129bab0 100644 --- a/sbr/folder_read.c +++ b/sbr/folder_read.c @@ -1,6 +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 @@ -9,6 +7,7 @@ #include #include +#include "m_maildir.h" /* We allocate the `mi' array 1024 elements at a time */ #define NUMMSGS 1024 @@ -25,11 +24,11 @@ struct msgs * folder_read (char *name, int lockflag) { - int msgnum, prefix_len, len, *mi; + int msgnum, len, *mi; struct msgs *mp; struct dirent *dp; DIR *dd; - bvector_t *v; + struct bvector *v; size_t i; name = m_mailpath (name); @@ -54,14 +53,13 @@ folder_read (char *name, int lockflag) if (access (name, W_OK) == -1) set_readonly (mp); - prefix_len = strlen(BACKUP_PREFIX); /* * Allocate a temporary place to record the * 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) { @@ -71,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 */ @@ -100,7 +98,7 @@ folder_read (char *name, int lockflag) default: /* skip any files beginning with backup prefix */ - if (!strncmp (dp->d_name, BACKUP_PREFIX, prefix_len)) + if (has_prefix(dp->d_name, BACKUP_PREFIX)) continue; /* skip the LINK file */ @@ -139,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