#include <h/mh.h>
#include <fcntl.h>
+#include <signal.h>
#include <errno.h>
#include <h/tws.h>
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/utils.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <sys/stat.h>
+#include <sysexits.h>
extern int debugsw;
fflush(stdout);
fflush(stderr);
- exit(1);
+ exit(EX_SOFTWARE);
return 1;
}
/* 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);
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 */
/* 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 */
/* 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 */
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;
/* 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 */
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;
/*
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;
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);
}
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) {
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);
}
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) {
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);
}
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) {