X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhshowsbr.c;h=c7923c87db021f477770fc8c76484ccdd1198b71;hp=71c16992a65aa43274478426d48268f7c22ba90b;hb=6e9577f324bef90765a5edc02044eb111ec48072;hpb=95d5b894202f6c42eae6a584f77bf9a80c5331f3 diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index 71c1699..c7923c8 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -10,13 +10,15 @@ #include #include #include -#include #include #include #include #include #include #include +#include +#include +#include extern int debugsw; @@ -74,7 +76,7 @@ show_all_messages(CT *cts) ** for showing headers of MIME messages. */ if (!formsw) - formsw = getcpy(etcpath("mhl.headers")); + formsw = mh_xstrdup(etcpath("mhl.headers")); /* ** If form is "mhl.null", suppress display of header. @@ -155,14 +157,14 @@ DisplayMsgHeader(CT ct, char *form) switch (child_id = fork()) { case NOTOK: - adios("fork", "unable to"); + adios(EX_OSERR, "fork", "unable to"); /* NOTREACHED */ case OK: execvp("mhl", vec); fprintf(stderr, "unable to exec "); perror("mhl"); - _exit(-1); + _exit(EX_OSERR); /* NOTREACHED */ default: @@ -214,7 +216,7 @@ show_switch(CT ct, int alternate) break; default: - adios(NULL, "unknown content type %d", ct->c_type); + adios(EX_DATAERR, NULL, "unknown content type %d", ct->c_type); break; } @@ -330,7 +332,7 @@ show_content_aux(CT ct, int alternate, char *cp, char *cracked) s = trimcpy(ct->c_descr); strncpy(bp, s, buflen); - free(s); + mh_free0(&s); } break; @@ -480,7 +482,7 @@ show_content_aux2(CT ct, int alternate, char *cracked, execlp("/bin/sh", "/bin/sh", "-c", buffer, NULL); fprintf(stderr, "unable to exec "); perror("/bin/sh"); - _exit(-1); + _exit(EX_OSERR); /* NOTREACHED */ default: @@ -525,7 +527,7 @@ show_text(CT ct, int alternate) } else { snprintf(buffer, sizeof(buffer), "%%lcat"); } - ct->c_showproc = getcpy(buffer); + ct->c_showproc = mh_xstrdup(buffer); return show_content_aux(ct, alternate, ct->c_showproc, NULL); } @@ -679,7 +681,7 @@ show_multi_aux(CT ct, int alternate, char *cp) return NOTOK; /* I'm not sure if this is necessary? */ - p->c_storage = getcpy(file); + p->c_storage = mh_xstrdup(file); if (p->c_showproc && strcmp(p->c_showproc, "true")==0) return (alternate ? DONE : OK); @@ -731,7 +733,7 @@ show_multi_aux(CT ct, int alternate, char *cp) s = trimcpy(ct->c_descr); strncpy(bp, s, buflen); - free(s); + mh_free0(&s); } break; @@ -864,7 +866,7 @@ show_message_rfc822(CT ct, int alternate) /* default method for message/rfc822 */ if (ct->c_subtype == MESSAGE_RFC822) { - cp = (ct->c_showproc = getcpy("%lshow -file %F")); + cp = (ct->c_showproc = mh_xstrdup("%lshow -file %F")); return show_content_aux(ct, alternate, cp, NULL); } @@ -907,12 +909,12 @@ show_external(CT ct, int alternate) msg = add(concat("\t", *ap, ": ", *ep, NULL), msg); } if (!(fp = fopen(ct->c_file, "r"))) { - adios(ct->c_file, "unable to open"); + adios(EX_IOERR, ct->c_file, "unable to open"); } fseek(fp, ct->c_begin, SEEK_SET); while (!feof(fp) && ftell(fp) < ct->c_end) { if (!fgets(buf, sizeof buf, fp)) { - adios(ct->c_file, "unable to read"); + adios(EX_IOERR, ct->c_file, "unable to read"); } *strchr(buf, '\n') = '\0'; if (!*buf) {