Replace mh_xmalloc() with mh_xcalloc()
[mmh] / sbr / folder_read.c
index 4265763..67775f1 100644 (file)
@@ -6,8 +6,11 @@
 ** 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
@@ -43,7 +46,7 @@ folder_read(char *name)
        }
 
        /* 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;
@@ -63,7 +66,7 @@ folder_read(char *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) {
@@ -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;
                        }
 
                        /*
@@ -125,7 +128,7 @@ folder_read(char *name)
 
        /* 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