X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhparse.c;h=7a15b75b1e7b8526c7b789d94bb404589c5b8a1a;hp=dc8e380bf38fbad4c7531de3b15ffdef48c2d485;hb=0b4cb45a0dd18d07f6af9d77283ee369bd17b14e;hpb=2433122c20baccb10b70b49c04c6b0497b5b3b60 diff --git a/uip/mhparse.c b/uip/mhparse.c index dc8e380..7a15b75 100644 --- a/uip/mhparse.c +++ b/uip/mhparse.c @@ -8,14 +8,16 @@ #include #include -#include -#include -#include #include +#include #include #include #include #include +#include +#include +#include +#include extern int debugsw; @@ -137,7 +139,7 @@ pidcheck(int status) fflush(stdout); fflush(stderr); - done(1); + exit(EX_SOFTWARE); return 1; } @@ -237,7 +239,7 @@ get_content(FILE *in, char *file, int toplevel) /* allocate the content structure */ if (!(ct = (CT) calloc(1, sizeof(*ct)))) - adios(NULL, "out of memory"); + adios(EX_OSERR, NULL, "out of memory"); ct->c_fp = in; ct->c_file = getcpy(file); @@ -286,11 +288,11 @@ get_content(FILE *in, char *file, int toplevel) case LENERR: case FMTERR: - adios(NULL, "message format error in component #%d", + adios(EX_DATAERR, NULL, "message format error in component #%d", compnum); default: - adios(NULL, "getfld() returned %d", state); + adios(EX_SOFTWARE, NULL, "getfld() returned %d", state); } /* break out of the loop */ @@ -980,7 +982,7 @@ InitText(CT ct) /* allocate text character set structure */ if ((t = (struct text *) calloc(1, sizeof(*t))) == NULL) - adios(NULL, "out of memory"); + adios(EX_OSERR, NULL, "out of memory"); ct->c_ctparams = (void *) t; /* scan for charset parameter */ @@ -1033,7 +1035,7 @@ InitMultiPart(CT ct) if (ct->c_encoding != CE_7BIT && ct->c_encoding != CE_8BIT && ct->c_encoding != CE_BINARY) { admonish(NULL, "\"%s/%s\" type in message %s must be encoded in 7bit, 8bit, or binary", ci->ci_type, ci->ci_subtype, ct->c_file); - return NOTOK; + ct->c_encoding = CE_7BIT; } /* match subtype */ @@ -1062,7 +1064,7 @@ InitMultiPart(CT ct) /* allocate primary structure for multipart info */ if ((m = (struct multipart *) calloc(1, sizeof(*m))) == NULL) - adios(NULL, "out of memory"); + adios(EX_OSERR, NULL, "out of memory"); ct->c_ctparams = (void *) m; /* check if boundary parameter contains only whitespace characters */ @@ -1107,7 +1109,7 @@ InitMultiPart(CT ct) next_part: if ((part = (struct part *) calloc(1, sizeof(*part))) == NULL) - adios(NULL, "out of memory"); + adios(EX_OSERR, NULL, "out of memory"); *next = part; next = &part->mp_next; @@ -1222,7 +1224,7 @@ reverse_parts(CT ct) /* allocate array of pointers to the parts */ if (!(base = (struct part **) calloc((size_t) (i + 1), sizeof(*base)))) - adios(NULL, "out of memory"); + adios(EX_OSERR, NULL, "out of memory"); bmp = base; /* point at all the parts */ @@ -1279,7 +1281,7 @@ InitMessage(CT ct) struct partial *p; if ((p = (struct partial *) calloc(1, sizeof(*p))) == NULL) - adios(NULL, "out of memory"); + adios(EX_OSERR, NULL, "out of memory"); ct->c_ctparams = (void *) p; /* @@ -1392,7 +1394,7 @@ init_encoding(CT ct, OpenCEFunc openfnx) CE ce; if ((ce = (CE) calloc(1, sizeof(*ce))) == NULL) - adios(NULL, "out of memory"); + adios(EX_OSERR, NULL, "out of memory"); ct->c_cefile = ce; ct->c_ceopenfnx = openfnx; @@ -1536,7 +1538,7 @@ openBase64(CT ct, char **file) cp = context_find(buffer); if (cp == NULL || *cp == '\0') { snprintf(buffer, sizeof(buffer), "%s-suffix-%s", invo_name, - ci->ci_type); + ci->ci_type); cp = context_find(buffer); } if (cp != NULL && *cp != '\0') { @@ -1548,7 +1550,7 @@ openBase64(CT ct, char **file) char *file_org = strdup(ce->ce_file); ce->ce_file = add(cp, ce->ce_file); if (rename(file_org, ce->ce_file)) { - adios(ce->ce_file, "unable to rename %s to ", + adios(EX_IOERR, ce->ce_file, "unable to rename %s to ", file_org); } free(file_org); @@ -1565,7 +1567,7 @@ openBase64(CT ct, char **file) } if ((len = ct->c_end - ct->c_begin) < 0) - adios(NULL, "internal error(1)"); + adios(EX_SOFTWARE, NULL, "internal error(1)"); if (!ct->c_fp) { if ((ct->c_fp = fopen(ct->c_file, "r")) == NULL) { @@ -1752,12 +1754,14 @@ openQuoted(CT ct, char **file) } if (cp != NULL && *cp != '\0') { if (ce->ce_unlink) { - // Temporary file already exists, so we rename to - // version with extension. + /* + ** Temporary file already exists, so we rename to + ** version with extension. + */ char *file_org = strdup(ce->ce_file); ce->ce_file = add(cp, ce->ce_file); if (rename(file_org, ce->ce_file)) { - adios(ce->ce_file, "unable to rename %s to ", + adios(EX_IOERR, ce->ce_file, "unable to rename %s to ", file_org); } free(file_org); @@ -1774,7 +1778,7 @@ openQuoted(CT ct, char **file) } if ((len = ct->c_end - ct->c_begin) < 0) - adios(NULL, "internal error(2)"); + adios(EX_SOFTWARE, NULL, "internal error(2)"); if (!ct->c_fp) { if ((ct->c_fp = fopen(ct->c_file, "r")) == NULL) { @@ -1962,7 +1966,7 @@ open7Bit(CT ct, char **file) cp = context_find(buffer); if (cp == NULL || *cp == '\0') { snprintf(buffer, sizeof(buffer), "%s-suffix-%s", invo_name, - ci->ci_type); + ci->ci_type); cp = context_find(buffer); } if (cp != NULL && *cp != '\0') { @@ -1974,7 +1978,7 @@ open7Bit(CT ct, char **file) char *file_org = strdup(ce->ce_file); ce->ce_file = add(cp, ce->ce_file); if (rename(file_org, ce->ce_file)) { - adios(ce->ce_file, "unable to rename %s to ", + adios(EX_IOERR, ce->ce_file, "unable to rename %s to ", file_org); } free(file_org); @@ -2040,7 +2044,7 @@ open7Bit(CT ct, char **file) } if ((len = ct->c_end - ct->c_begin) < 0) - adios(NULL, "internal error(3)"); + adios(EX_SOFTWARE, NULL, "internal error(3)"); if (!ct->c_fp) { if ((ct->c_fp = fopen(ct->c_file, "r")) == NULL) {