projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This is mmh-0.3
[mmh]
/
sbr
/
folder_read.c
diff --git
a/sbr/folder_read.c
b/sbr/folder_read.c
index
159949a
..
722ee2f
100644
(file)
--- a/
sbr/folder_read.c
+++ b/
sbr/folder_read.c
@@
-6,8
+6,11
@@
** complete copyright information.
*/
** complete copyright information.
*/
+#include <unistd.h>
#include <h/mh.h>
#include <h/utils.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
/* We allocate the `mi' array 1024 elements at a time */
#define NUMMSGS 1024
@@
-30,20
+33,20
@@
folder_read(char *name)
struct dirent *dp;
DIR *dd;
struct dirent *dp;
DIR *dd;
- name = getcpy(toabsdir(name));
+ name = mh_xstrdup(toabsdir(name));
if (!(dd = opendir(name))) {
if (!(dd = opendir(name))) {
- free(name);
+ mh_free0(&name);
return NULL;
}
if (stat(name, &st) == -1) {
return NULL;
}
if (stat(name, &st) == -1) {
- free(name);
+ mh_free0(&name);
closedir(dd);
return NULL;
}
/* Allocate the main structure for folder information */
closedir(dd);
return NULL;
}
/* Allocate the main structure for folder information */
- mp = (struct msgs *) mh_xmalloc((size_t) sizeof(*mp));
+ mp = mh_xcalloc(1, sizeof(*mp));
clear_folder_flags(mp);
mp->foldpath = name;
clear_folder_flags(mp);
mp->foldpath = name;
@@
-63,7
+66,7
@@
folder_read(char *name)
** name of the messages in this folder.
*/
len = NUMMSGS;
** name of the messages in this folder.
*/
len = NUMMSGS;
- mi = (int *) mh_xmalloc((size_t) (len * sizeof(*mi)));
+ mi = mh_xcalloc(len, sizeof(*mi));
while ((dp = readdir(dd))) {
if ((msgnum = m_atoi(dp->d_name)) && msgnum > 0) {
while ((dp = readdir(dd))) {
if ((msgnum = m_atoi(dp->d_name)) && msgnum > 0) {
@@
-73,7
+76,7
@@
folder_read(char *name)
*/
if (mp->nummsg >= len) {
len += NUMMSGS;
*/
if (mp->nummsg >= len) {
len += NUMMSGS;
- mi = (int *) mh_xrealloc(mi, (size_t) (len * sizeof(*mi)));
+ mi = mh_xrealloc(mi, len * sizeof(*mi));
}
/* Check if this is the first message we've seen */
}
/* Check if this is the first message we've seen */
@@
-125,7
+128,7
@@
folder_read(char *name)
/* Allocate space for status of each message. */
/* 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
/*
** Clear all the flag bits for all the message
@@
-143,7
+146,7
@@
folder_read(char *name)
for (msgnum = 0; msgnum < mp->nummsg; msgnum++)
set_exists(mp, mi[msgnum]);
for (msgnum = 0; msgnum < mp->nummsg; msgnum++)
set_exists(mp, mi[msgnum]);
- free(mi); /* We don't need this anymore */
+ mh_free0(&mi); /* We don't need this anymore */
/*
** Read and initialize the sequence information.
/*
** Read and initialize the sequence information.