** complete copyright information.
*/
+#include <unistd.h>
#include <h/mh.h>
#include <h/utils.h>
+#include <dirent.h>
+#include <sys/stat.h>
/* We allocate the `mi' array 1024 elements at a time */
#define NUMMSGS 1024
}
/* Allocate the main structure for folder information */
- mp = (struct msgs *) mh_xmalloc((size_t) sizeof(*mp));
+ mp = (struct msgs *) mh_xcalloc(1, (size_t) sizeof(*mp));
clear_folder_flags(mp);
mp->foldpath = name;
** name of the messages in this folder.
*/
len = NUMMSGS;
- mi = (int *) mh_xmalloc((size_t) (len * sizeof(*mi)));
+ mi = (int *) mh_xcalloc((size_t) len, sizeof(*mi));
while ((dp = readdir(dd))) {
if ((msgnum = m_atoi(dp->d_name)) && msgnum > 0) {
** lowest we've seen?
*/
if (msgnum < mp->lowmsg)
- mp->lowmsg = msgnum;
+ mp->lowmsg = msgnum;
if (msgnum > mp->hghmsg)
- mp->hghmsg = msgnum;
+ mp->hghmsg = msgnum;
}
/*
/* Allocate space for status of each message. */
- mp->msgstats = mh_xmalloc(MSGSTATSIZE(mp, mp->lowoff, mp->hghoff));
+ mp->msgstats = mh_xcalloc(MSGSTATSIZE(mp, mp->lowoff, mp->hghoff), 1);
/*
** Clear all the flag bits for all the message