X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Ffolder_read.c;h=ec51d64e664947ce87687ee4140e5ca2f515792b;hb=6ee8839fd9f57c6c97fa7e6e0d142d06c5ba09c3;hp=51955920c75b7223f399fc85dcab69a8e7ec29ee;hpb=d3ba09a465cb0e5fc9a74d0b152a7ed965f895cb;p=mmh diff --git a/sbr/folder_read.c b/sbr/folder_read.c index 5195592..ec51d64 100644 --- a/sbr/folder_read.c +++ b/sbr/folder_read.c @@ -6,8 +6,11 @@ ** complete copyright information. */ +#include #include #include +#include +#include /* We allocate the `mi' array 1024 elements at a time */ #define NUMMSGS 1024 @@ -24,7 +27,7 @@ struct msgs * folder_read(char *name) { - int msgnum, prefix_len, len, *mi; + int msgnum, len, *mi; struct msgs *mp; struct stat st; struct dirent *dp; @@ -38,6 +41,7 @@ folder_read(char *name) if (stat(name, &st) == -1) { free(name); + closedir(dd); return NULL; } @@ -56,7 +60,6 @@ folder_read(char *name) if (access(name, W_OK) == -1) set_readonly(mp); - prefix_len = strlen(backup_prefix); /* ** Allocate a temporary place to record the @@ -86,9 +89,9 @@ folder_read(char *name) ** lowest we've seen? */ if (msgnum < mp->lowmsg) - mp->lowmsg = msgnum; + mp->lowmsg = msgnum; if (msgnum > mp->hghmsg) - mp->hghmsg = msgnum; + mp->hghmsg = msgnum; } /* @@ -101,25 +104,10 @@ folder_read(char *name) switch (dp->d_name[0]) { case '.': case ',': -#ifdef MHE - case '+': -#endif /* MHE */ continue; default: /* - ** skip any files beginning with - ** backup prefix - */ - if (strncmp(dp->d_name, backup_prefix, - prefix_len)==0) - continue; - - /* skip the altmsg link file */ - if (strcmp(dp->d_name, altmsglink)==0) - continue; - - /* ** indicate that there are other ** files in folder */ @@ -138,14 +126,14 @@ folder_read(char *name) /* for testing, allocate minimal necessary space */ /* mp->hghoff = max(mp->hghmsg, 1); */ - /* - ** Allocate space for status of each message. - */ + /* Allocate space for status of each message. */ + mp->msgstats = mh_xmalloc(MSGSTATSIZE(mp, mp->lowoff, mp->hghoff)); /* ** Clear all the flag bits for all the message ** status entries we just allocated. + ** TODO: use memset() ? */ for (msgnum = mp->lowoff; msgnum <= mp->hghoff; msgnum++) clear_msg_flags(mp, msgnum);