Use sysexits.h for better exit-codes
[mmh] / uip / mhparse.c
index a325926..fad75d7 100644 (file)
@@ -17,6 +17,7 @@
 #include <unistd.h>
 #include <ctype.h>
 #include <sys/stat.h>
+#include <sysexits.h>
 
 extern int debugsw;
 
@@ -138,7 +139,7 @@ pidcheck(int status)
 
        fflush(stdout);
        fflush(stderr);
-       exit(1);
+       exit(EX_SOFTWARE);
        return 1;
 }
 
@@ -238,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);
@@ -287,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 */
@@ -981,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 */
@@ -1063,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 */
@@ -1108,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;
 
@@ -1223,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 */
@@ -1280,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;
 
                /*
@@ -1393,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;
@@ -1549,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);
@@ -1566,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) {
@@ -1760,7 +1761,7 @@ openQuoted(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);
@@ -1777,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) {
@@ -1977,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);
@@ -2043,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) {