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;
if (stat(name, &st) == -1) {
free(name);
+ closedir(dd);
return NULL;
}
if (access(name, W_OK) == -1)
set_readonly(mp);
- prefix_len = strlen(backup_prefix);
/*
** Allocate a temporary place to record the
} else {
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))
- 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);
- continue;
+ case '.':
+ case ',':
+ continue;
+
+ default:
+ /*
+ ** indicate that there are other
+ ** files in folder
+ */
+ set_other_files(mp);
+ continue;
}
}
}
/* 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);