#include <h/mime.h>
#include <h/mhparse.h>
#include <h/fmt_scan.h>
+#include "h/done.h"
#include <h/utils.h>
+#include "mhmisc.h"
#include "mhshowsbr.h"
-#include "../sbr/m_mktemp.h"
+#include "sbr/m_mktemp.h"
#ifdef HAVE_ICONV
# include <iconv.h>
#endif /* ! HAVE_ICONV */
extern int debugsw;
-extern int npart;
-extern int ntype;
int nolist = 0;
int nomore = 0;
char *formsw = NULL;
-/* for output markerss and headers */
+/* for output markers and headers */
char *folder = NULL;
char *markerform;
char *headerform;
int headersw = -1;
-/* mhmisc.c */
-int part_ok (CT);
-int part_exact (CT);
-int type_ok (CT, int);
-void content_error (char *, CT, char *, ...);
-void flush_errors (void);
-
/*
* static prototypes
*/
* for showing headers of MIME messages.
*/
if (!formsw)
- formsw = getcpy (etcpath ("mhl.headers"));
+ formsw = mh_xstrdup(etcpath("mhl.headers"));
/*
* Compile the content marker and header format lines
DisplayMsgHeader (CT ct, char *form, int concatsw)
{
pid_t child_id;
- int i, vecp;
+ int vecp;
char **vec;
char *file;
fflush (stdout);
- for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++)
- sleep (5);
-
+ child_id = fork();
switch (child_id) {
case NOTOK:
adios ("fork", "unable to");
execvp (file, vec);
fprintf (stderr, "unable to exec ");
perror (mhlproc);
- _exit (-1);
+ _exit(1);
/* NOTREACHED */
default:
int fd, int xlist, int xstdin, struct format *fmt)
{
pid_t child_id;
- int i, vecp;
+ int vecp;
char **vec, *file;
if (debugsw || cracked) {
}
while ((cc = read(fd, readbuf, sizeof(readbuf))) > 0) {
- if ((ssize_t) fwrite(readbuf, sizeof(char), cc, stdout) < cc) {
+ if ((ssize_t) fwrite(readbuf, 1, cc, stdout) < cc) {
advise ("putline", "fwrite");
}
lastchar = readbuf[cc - 1];
fflush (stdout);
- for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++)
- sleep (5);
+ child_id = fork();
switch (child_id) {
case NOTOK:
advise ("fork", "unable to");
execvp (file, vec);
fprintf (stderr, "unable to exec ");
perror (buffer);
- _exit (-1);
+ _exit(1);
/* NOTREACHED */
default: {
arglist_free(file, vec);
if (fd != NOTOK)
(*ct->c_ceclosefnx) (ct);
- return (alternate ? OK : status);
+ return alternate ? OK : status;
}
}
}
}
if ((tempfile = m_mktemp2 (NULL, invo_name, &fd, NULL)) == NULL) {
- adios (NULL, "unable to create temporary file in %s",
+ die("unable to create temporary file in %s",
get_temp_dir());
}
dest = mh_xstrdup(tempfile);