HF hp;
/* allocate the content structure */
- if (!(ct = (CT) calloc(1, sizeof(*ct))))
+ if (!(ct = (CT) mh_xcalloc(1, sizeof(*ct))))
adios(EX_OSERR, NULL, "out of memory");
ct->c_fp = in;
switch (state = m_getfld(state, name, buf, sizeof(buf), in)) {
case FLD:
case FLDPLUS:
- case FLDEOF:
compnum++;
/* get copies of the buffers */
/* 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 BODYEOF:
ct->c_begin = ftell(in) - strlen(buf);
break;
}
if (!*vp) {
advise(NULL, "invalid parameter in message %s's %s: field\n%*.*s(parameter %s)", ct->c_file, TYPE_FIELD, i, i, "", *ap);
- return NOTOK;
+ *ci->ci_values[ap - ci->ci_attrs] = '\0';
+ *ci->ci_attrs[ap - ci->ci_attrs] = '\0';
+ continue;
}
ap++;
ct->c_subtype = kv->kv_value;
/* allocate text character set structure */
- if ((t = (struct text *) calloc(1, sizeof(*t))) == NULL)
+ if ((t = (struct text *) mh_xcalloc(1, sizeof(*t))) == NULL)
adios(EX_OSERR, NULL, "out of memory");
ct->c_ctparams = (void *) t;
}
/* allocate primary structure for multipart info */
- if ((m = (struct multipart *) calloc(1, sizeof(*m))) == NULL)
+ if ((m = (struct multipart *) mh_xcalloc(1, sizeof(*m))) == NULL)
adios(EX_OSERR, NULL, "out of memory");
ct->c_ctparams = (void *) m;
if (strcmp(buffer + 2, m->mp_start)!=0)
continue;
next_part:
- if ((part = (struct part *) calloc(1, sizeof(*part)))
+ if ((part = (struct part *) mh_xcalloc(1, sizeof(*part)))
== NULL)
adios(EX_OSERR, NULL, "out of memory");
*next = part;
i++;
/* allocate array of pointers to the parts */
- if (!(base = (struct part **) calloc((size_t) (i + 1), sizeof(*base))))
+ if (!(base = (struct part **) mh_xcalloc((size_t) (i + 1), sizeof(*base))))
adios(EX_OSERR, NULL, "out of memory");
bmp = base;
char **ap, **ep;
struct partial *p;
- if ((p = (struct partial *) calloc(1, sizeof(*p))) == NULL)
+ if ((p = (struct partial *) mh_xcalloc(1, sizeof(*p))) == NULL)
adios(EX_OSERR, NULL, "out of memory");
ct->c_ctparams = (void *) p;
{
CE ce;
- if ((ce = (CE) calloc(1, sizeof(*ce))) == NULL)
+ if ((ce = (CE) mh_xcalloc(1, sizeof(*ce))) == NULL)
adios(EX_OSERR, NULL, "out of memory");
ct->c_cefile = ce;