X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhbuild.c;h=4ff06efde4794652a7cd32e29807f4432c69b6b4;hp=1fdedb6612f3d66c9e977d502e4f6e44ce23df01;hb=d4c34b4439a9dbd89664de460ed37ecddc260fb1;hpb=5d690daafbcd4ed26d19610fcc017999ee5af892 diff --git a/uip/mhbuild.c b/uip/mhbuild.c index 1fdedb6..4ff06ef 100644 --- a/uip/mhbuild.c +++ b/uip/mhbuild.c @@ -330,8 +330,7 @@ build_mime(char *infile) /* ** Allocate space for primary (outside) content */ - if ((ct = (CT) mh_xcalloc(1, sizeof(*ct))) == NULL) - adios(EX_OSERR, NULL, "out of memory"); + ct = mh_xcalloc(1, sizeof(*ct)); /* ** Allocate structure for handling decoded content @@ -349,7 +348,6 @@ build_mime(char *infile) switch (state = m_getfld(state, name, buf, sizeof(buf), in)) { case FLD: case FLDPLUS: - case FLDEOF: compnum++; /* abort if draft has Mime-Version header field */ @@ -368,7 +366,7 @@ build_mime(char *infile) while (state == FLDPLUS) state = m_getfld(state, name, buf, sizeof(buf), in); - goto finish_field; + continue; } /* get copies of the buffers */ @@ -385,18 +383,13 @@ build_mime(char *infile) /* Now add the header data to the list */ add_header(ct, np, vp); -finish_field: - /* if this wasn't the last hdr field, then continue */ - if (state != FLDEOF) - continue; - /* else fall... */ + continue; case FILEEOF: adios(EX_CONFIG, NULL, "draft has empty body -- no directives!"); /* NOTREACHED */ case BODY: - case BODYEOF: fseek(in, (long) (-strlen(buf)), SEEK_CUR); break; @@ -441,8 +434,7 @@ finish_field: ct->c_subtype = MULTI_MIXED; ct->c_file = getcpy(infile); - 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; pp = &m->mp_parts; @@ -461,8 +453,7 @@ finish_field: if (!p) continue; - if ((part = (struct part *) mh_xcalloc(1, sizeof(*part))) == NULL) - adios(EX_OSERR, NULL, "out of memory"); + part = mh_xcalloc(1, sizeof(*part)); *pp = part; pp = &part->mp_next; part->mp_part = p; @@ -542,8 +533,7 @@ init_decoded_content(CT ct) { 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 = open7Bit; /* since unencoded */ @@ -603,8 +593,7 @@ user_content(FILE *in, char *file, char *buf, CT *ctp) } /* allocate basic Content structure */ - if ((ct = (CT) mh_xcalloc(1, sizeof(*ct))) == NULL) - adios(EX_OSERR, NULL, "out of memory"); + ct = mh_xcalloc(1, sizeof(*ct)); *ctp = ct; /* allocate basic structure for handling decoded content */ @@ -818,7 +807,7 @@ use_forw: if (!*cp) adios(EX_DATAERR, NULL, "empty pipe command for #%s directive", ci->ci_type); cp = getcpy(cp); - free(ci->ci_magic); + mh_free0(&(ci->ci_magic)); ci->ci_magic = cp; } else { /* record filename of decoded contents */ @@ -896,7 +885,7 @@ use_forw: if (!m_convert(mp, cp)) exit(EX_USAGE); } - free(folder); + mh_free0(&folder); free_ctinfo(ct); /* @@ -912,9 +901,7 @@ use_forw: ct->c_type = CT_MULTIPART; ct->c_subtype = MULTI_DIGEST; - 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; pp = &m->mp_parts; @@ -924,9 +911,7 @@ use_forw: CT p; CE pe; - if ((p = (CT) mh_xcalloc(1, sizeof(*p))) - == NULL) - adios(EX_OSERR, NULL, "out of memory"); + p = mh_xcalloc(1, sizeof(*p)); init_decoded_content(p); pe = p->c_cefile; if (get_ctinfo("message/rfc822", p, 0) @@ -940,8 +925,7 @@ use_forw: msgnum); pe->ce_file = getcpy(buffer); - if ((part = (struct part *) mh_xcalloc(1, sizeof(*part))) == NULL) - adios(EX_OSERR, NULL, "out of memory"); + part = mh_xcalloc(1, sizeof(*part)); *pp = part; pp = &part->mp_next; part->mp_part = p; @@ -1000,8 +984,7 @@ use_forw: ct->c_type = CT_MULTIPART; ct->c_subtype = vrsn; - 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; pp = &m->mp_parts; @@ -1017,9 +1000,7 @@ use_forw: if (!p) continue; - if ((part = (struct part *) - mh_xcalloc(1, sizeof(*part))) == NULL) - adios(EX_OSERR, NULL, "out of memory"); + part = mh_xcalloc(1, sizeof(*part)); *pp = part; pp = &part->mp_next; part->mp_part = p;