Removed the altmsglink (named `@') and env var `$editalt' for repl and dist.
[mmh] / sbr / folder_read.c
index 222b490..35dc195 100644 (file)
@@ -30,7 +30,7 @@ folder_read(char *name)
        struct dirent *dp;
        DIR *dd;
 
-       name = m_mailpath(name);
+       name = getcpy(toabsdir(name));
        if (!(dd = opendir(name))) {
                free(name);
                return NULL;
@@ -38,6 +38,7 @@ folder_read(char *name)
 
        if (stat(name, &st) == -1) {
                free(name);
+               closedir(dd);
                return NULL;
        }
 
@@ -99,31 +100,25 @@ folder_read(char *name)
 
                } else {
                        switch (dp->d_name[0]) {
-                               case '.':
-                               case ',':
-#ifdef MHE
-                               case '+':
-#endif /* MHE */
-                                       continue;
+                       case '.':
+                       case ',':
+                               continue;
 
-                               default:
-                                       /*
-                                       ** skip any files beginning with
-                                       ** backup prefix
-                                       */
-                                       if (!strncmp(dp->d_name, backup_prefix, prefix_len))
-                                               continue;
-
-                                       /* skip the altmsg link file */
-                                       if (!strcmp(dp->d_name, altmsglink))
-                                               continue;
-
-                                       /*
-                                       ** indicate that there are other
-                                       ** files in folder
-                                       */
-                                       set_other_files(mp);
+                       default:
+                               /*
+                               ** skip any files beginning with
+                               ** backup prefix
+                               */
+                               if (strncmp(dp->d_name, backup_prefix,
+                                               prefix_len)==0)
                                        continue;
+
+                               /*
+                               ** indicate that there are other
+                               ** files in folder
+                               */
+                               set_other_files(mp);
+                               continue;
                        }
                }
        }
@@ -137,14 +132,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);