X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhparse.c;h=d3f543fb581326cd336f5254783831cc85adef7c;hp=2afb03a2f57efbb00200bad3b178677d9e202aea;hb=b78007de9802005825390bee71dfce2306b42519;hpb=72795bfcbe9f7fee8927b1a4942c0230b0f857a8 diff --git a/uip/mhparse.c b/uip/mhparse.c index 2afb03a..d3f543f 100644 --- 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 */ - if (!(ct = (CT) mh_xcalloc(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); @@ -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: - case FLDEOF: 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); - /* 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; @@ -482,7 +475,7 @@ add_header(CT ct, char *name, char *value) 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; @@ -584,7 +577,7 @@ extract_name_value(char *name_suffix, char *value) { 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'; @@ -983,8 +976,7 @@ InitText(CT ct) ct->c_subtype = kv->kv_value; /* allocate text character set structure */ - if ((t = (struct text *) mh_xcalloc(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 */ @@ -1065,8 +1057,7 @@ InitMultiPart(CT ct) } /* allocate primary structure for multipart info */ - if ((m = (struct multipart *) mh_xcalloc(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 */ @@ -1109,9 +1100,7 @@ InitMultiPart(CT ct) if (strcmp(buffer + 2, m->mp_start)!=0) continue; next_part: - if ((part = (struct part *) mh_xcalloc(1, sizeof(*part))) - == NULL) - adios(EX_OSERR, NULL, "out of memory"); + part = mh_xcalloc(1, sizeof(*part)); *next = part; next = &part->mp_next; @@ -1225,8 +1214,7 @@ reverse_parts(CT ct) i++; /* allocate array of pointers to the parts */ - if (!(base = (struct part **) mh_xcalloc((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 */ @@ -1282,8 +1270,7 @@ InitMessage(CT ct) char **ap, **ep; struct partial *p; - if ((p = (struct partial *) mh_xcalloc(1, sizeof(*p))) == NULL) - adios(EX_OSERR, NULL, "out of memory"); + p = mh_xcalloc(1, sizeof(*p)); ct->c_ctparams = (void *) p; /* @@ -1395,8 +1382,7 @@ init_encoding(CT ct, OpenCEFunc openfnx) { CE ce; - if ((ce = (CE) mh_xcalloc(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;