projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Replace free() with mh_free0()
[mmh]
/
uip
/
mhparse.c
diff --git
a/uip/mhparse.c
b/uip/mhparse.c
index
f520e03
..
f04a348
100644
(file)
--- a/
uip/mhparse.c
+++ b/
uip/mhparse.c
@@
-238,8
+238,7
@@
get_content(FILE *in, char *file, int toplevel)
HF hp;
/* allocate the content structure */
HF hp;
/* allocate the content structure */
- if (!(ct = (CT) calloc(1, sizeof(*ct))))
- adios(EX_OSERR, NULL, "out of memory");
+ ct = mh_xcalloc(1, sizeof(*ct));
ct->c_fp = in;
ct->c_file = getcpy(file);
ct->c_fp = in;
ct->c_file = getcpy(file);
@@
-253,7
+252,6
@@
get_content(FILE *in, char *file, int toplevel)
switch (state = m_getfld(state, name, buf, sizeof(buf), in)) {
case FLD:
case FLDPLUS:
switch (state = m_getfld(state, name, buf, sizeof(buf), in)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
compnum++;
/* get copies of the buffers */
compnum++;
/* get copies of the buffers */
@@
-270,15
+268,10
@@
get_content(FILE *in, char *file, int toplevel)
/* Now add the header data to the list */
add_header(ct, np, vp);
/* Now add the header data to the list */
add_header(ct, np, vp);
- /* continue, if this isn't the last header field */
- if (state != FLDEOF) {
- ct->c_begin = ftell(in) + 1;
- continue;
- }
- /* else fall... */
+ ct->c_begin = ftell(in) + 1;
+ continue;
case BODY:
case BODY:
- case BODYEOF:
ct->c_begin = ftell(in) - strlen(buf);
break;
ct->c_begin = ftell(in) - strlen(buf);
break;
@@
-482,7
+475,7
@@
add_header(CT ct, char *name, char *value)
HF hp;
/* allocate header field structure */
HF hp;
/* allocate header field structure */
- hp = mh_xmalloc(sizeof(*hp));
+ hp = mh_xcalloc(1, sizeof(*hp));
/* link data into header structure */
hp->name = name;
/* link data into header structure */
hp->name = name;
@@
-543,18
+536,18
@@
incl_name_value(unsigned char *buf, char *name, char *value) {
*cp = '\0';
newbuf = concat(prefix, insertion, suffix,
"\n", NULL);
*cp = '\0';
newbuf = concat(prefix, insertion, suffix,
"\n", NULL);
- free(suffix);
+ mh_free0(&suffix);
} else {
/* Append to end. */
newbuf = concat(buf, insertion, "\n", NULL);
}
} else {
/* Append to end. */
newbuf = concat(buf, insertion, "\n", NULL);
}
- free(prefix);
- free(insertion);
- free(buf);
+ mh_free0(&prefix);
+ mh_free0(&insertion);
+ mh_free0(&buf);
}
}
- free(name_plus_equal);
+ mh_free0(&name_plus_equal);
}
return newbuf;
}
return newbuf;
@@
-572,7
+565,7
@@
extract_name_value(char *name_suffix, char *value) {
char *name_suffix_equals = strstr(value, name_suffix_plus_quote);
char *cp;
char *name_suffix_equals = strstr(value, name_suffix_plus_quote);
char *cp;
- free(name_suffix_plus_quote);
+ mh_free0(&name_suffix_plus_quote);
if (name_suffix_equals) {
char *name_suffix_begin;
if (name_suffix_equals) {
char *name_suffix_begin;
@@
-584,7
+577,7
@@
extract_name_value(char *name_suffix, char *value) {
for (; *cp != '"'; ++cp)
;
for (; *cp != '"'; ++cp)
;
- extracted_name_value = mh_xmalloc(cp - name_suffix_begin + 1);
+ extracted_name_value = mh_xcalloc(cp - name_suffix_begin + 1, sizeof(char));
memcpy(extracted_name_value, name_suffix_begin,
cp - name_suffix_begin);
extracted_name_value[cp - name_suffix_begin] = '\0';
memcpy(extracted_name_value, name_suffix_begin,
cp - name_suffix_begin);
extracted_name_value[cp - name_suffix_begin] = '\0';
@@
-784,8
+777,7
@@
bad_quote:
*/
if (magic && *cp == '<') {
if (ct->c_id) {
*/
if (magic && *cp == '<') {
if (ct->c_id) {
- free(ct->c_id);
- ct->c_id = NULL;
+ mh_free0(&(ct->c_id));
}
if (!(dp = strchr(ct->c_id = ++cp, '>'))) {
advise(NULL, "invalid ID in message %s", ct->c_file);
}
if (!(dp = strchr(ct->c_id = ++cp, '>'))) {
advise(NULL, "invalid ID in message %s", ct->c_file);
@@
-932,7
+924,7
@@
invalid:
if (istype) {
if ((dp = ci->ci_comment)) {
ci->ci_comment = concat(dp, " ", buffer, NULL);
if (istype) {
if ((dp = ci->ci_comment)) {
ci->ci_comment = concat(dp, " ", buffer, NULL);
- free(dp);
+ mh_free0(&dp);
} else {
ci->ci_comment = getcpy(buffer);
}
} else {
ci->ci_comment = getcpy(buffer);
}
@@
-983,8
+975,7
@@
InitText(CT ct)
ct->c_subtype = kv->kv_value;
/* allocate text character set structure */
ct->c_subtype = kv->kv_value;
/* allocate text character set structure */
- if ((t = (struct text *) calloc(1, sizeof(*t))) == NULL)
- adios(EX_OSERR, NULL, "out of memory");
+ t = mh_xcalloc(1, sizeof(*t));
ct->c_ctparams = (void *) t;
/* scan for charset parameter */
ct->c_ctparams = (void *) t;
/* scan for charset parameter */
@@
-1065,8
+1056,7
@@
InitMultiPart(CT ct)
}
/* allocate primary structure for multipart info */
}
/* allocate primary structure for multipart info */
- if ((m = (struct multipart *) calloc(1, sizeof(*m))) == NULL)
- adios(EX_OSERR, NULL, "out of memory");
+ m = mh_xcalloc(1, sizeof(*m));
ct->c_ctparams = (void *) m;
/* check if boundary parameter contains only whitespace characters */
ct->c_ctparams = (void *) m;
/* check if boundary parameter contains only whitespace characters */
@@
-1109,9
+1099,7
@@
InitMultiPart(CT ct)
if (strcmp(buffer + 2, m->mp_start)!=0)
continue;
next_part:
if (strcmp(buffer + 2, m->mp_start)!=0)
continue;
next_part:
- if ((part = (struct part *) calloc(1, sizeof(*part)))
- == NULL)
- adios(EX_OSERR, NULL, "out of memory");
+ part = mh_xcalloc(1, sizeof(*part));
*next = part;
next = &part->mp_next;
*next = part;
next = &part->mp_next;
@@
-1154,7
+1142,7
@@
end_part:
continue;
*next = NULL;
free_content(p);
continue;
*next = NULL;
free_content(p);
- free((char *) part);
+ mh_free0(&part);
}
}
}
}
@@
-1225,8
+1213,7
@@
reverse_parts(CT ct)
i++;
/* allocate array of pointers to the parts */
i++;
/* allocate array of pointers to the parts */
- if (!(base = (struct part **) calloc((size_t) (i + 1), sizeof(*base))))
- adios(EX_OSERR, NULL, "out of memory");
+ base = mh_xcalloc(i + 1, sizeof(*base));
bmp = base;
/* point at all the parts */
bmp = base;
/* point at all the parts */
@@
-1244,7
+1231,7
@@
reverse_parts(CT ct)
*next = NULL;
/* free array of pointers */
*next = NULL;
/* free array of pointers */
- free((char *) base);
+ mh_free0(&base);
}
}
@@
-1282,8
+1269,7
@@
InitMessage(CT ct)
char **ap, **ep;
struct partial *p;
char **ap, **ep;
struct partial *p;
- if ((p = (struct partial *) calloc(1, sizeof(*p))) == NULL)
- adios(EX_OSERR, NULL, "out of memory");
+ p = mh_xcalloc(1, sizeof(*p));
ct->c_ctparams = (void *) p;
/*
ct->c_ctparams = (void *) p;
/*
@@
-1395,8
+1381,7
@@
init_encoding(CT ct, OpenCEFunc openfnx)
{
CE ce;
{
CE ce;
- if ((ce = (CE) calloc(1, sizeof(*ce))) == NULL)
- adios(EX_OSERR, NULL, "out of memory");
+ ce = mh_xcalloc(1, sizeof(*ce));
ct->c_cefile = ce;
ct->c_ceopenfnx = openfnx;
ct->c_cefile = ce;
ct->c_ceopenfnx = openfnx;
@@
-1555,7
+1540,7
@@
openBase64(CT ct, char **file)
adios(EX_IOERR, ce->ce_file, "unable to rename %s to ",
file_org);
}
adios(EX_IOERR, ce->ce_file, "unable to rename %s to ",
file_org);
}
- free(file_org);
+ mh_free0(&file_org);
} else {
ce->ce_file = add(cp, ce->ce_file);
} else {
ce->ce_file = add(cp, ce->ce_file);
@@
-1766,7
+1751,7
@@
openQuoted(CT ct, char **file)
adios(EX_IOERR, ce->ce_file, "unable to rename %s to ",
file_org);
}
adios(EX_IOERR, ce->ce_file, "unable to rename %s to ",
file_org);
}
- free(file_org);
+ mh_free0(&file_org);
} else {
ce->ce_file = add(cp, ce->ce_file);
} else {
ce->ce_file = add(cp, ce->ce_file);
@@
-1983,7
+1968,7
@@
open7Bit(CT ct, char **file)
adios(EX_IOERR, ce->ce_file, "unable to rename %s to ",
file_org);
}
adios(EX_IOERR, ce->ce_file, "unable to rename %s to ",
file_org);
}
- free(file_org);
+ mh_free0(&file_org);
} else {
ce->ce_file = add(cp, ce->ce_file);
} else {
ce->ce_file = add(cp, ce->ce_file);