projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use sysexits.h for better exit-codes
[mmh]
/
uip
/
mhparse.c
diff --git
a/uip/mhparse.c
b/uip/mhparse.c
index
dc8e380
..
fad75d7
100644
(file)
--- a/
uip/mhparse.c
+++ b/
uip/mhparse.c
@@
-8,14
+8,16
@@
#include <h/mh.h>
#include <fcntl.h>
#include <h/mh.h>
#include <fcntl.h>
-#include <h/signals.h>
-#include <errno.h>
-#include <setjmp.h>
#include <signal.h>
#include <signal.h>
+#include <errno.h>
#include <h/tws.h>
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/utils.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;
extern int debugsw;
@@
-137,7
+139,7
@@
pidcheck(int status)
fflush(stdout);
fflush(stderr);
fflush(stdout);
fflush(stderr);
- done(1);
+ exit(EX_SOFTWARE);
return 1;
}
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))))
/* 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);
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:
case LENERR:
case FMTERR:
- adios(NULL, "message format error in component #%d",
+ adios(EX_DATAERR, NULL, "message format error in component #%d",
compnum);
default:
compnum);
default:
- adios(NULL, "getfld() returned %d", state);
+ adios(EX_SOFTWARE, NULL, "getfld() returned %d", state);
}
/* break out of the loop */
}
/* 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)
/* 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 */
ct->c_ctparams = (void *) t;
/* scan for charset parameter */
@@
-1062,7
+1064,7
@@
InitMultiPart(CT ct)
/* allocate primary structure for multipart info */
if ((m = (struct multipart *) calloc(1, sizeof(*m))) == NULL)
/* 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 */
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)
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;
*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))))
/* 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 */
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)
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;
/*
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)
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;
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,
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') {
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)) {
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);
file_org);
}
free(file_org);
@@
-1565,7
+1567,7
@@
openBase64(CT ct, char **file)
}
if ((len = ct->c_end - ct->c_begin) < 0)
}
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) {
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) {
}
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)) {
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);
file_org);
}
free(file_org);
@@
-1774,7
+1778,7
@@
openQuoted(CT ct, char **file)
}
if ((len = ct->c_end - ct->c_begin) < 0)
}
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) {
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,
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') {
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)) {
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);
file_org);
}
free(file_org);
@@
-2040,7
+2044,7
@@
open7Bit(CT ct, char **file)
}
if ((len = ct->c_end - ct->c_begin) < 0)
}
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) {
if (!ct->c_fp) {
if ((ct->c_fp = fopen(ct->c_file, "r")) == NULL) {