]> diplodocus.org Git - nmh/blobdiff - uip/mhshowsbr.c
nmh_init(): Replace integer parameter with two bools.
[nmh] / uip / mhshowsbr.c
index 99bb406777376d75136c544087fa02445180c5dd..5d664090a839edebd8f7794a380687e729f5b46f 100644 (file)
 #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;
 
@@ -33,20 +33,13 @@ char *progsw = NULL;
 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
  */
@@ -108,7 +101,7 @@ show_all_messages(CT *cts, int concat, int textonly, int inlineonly)
      * 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
@@ -201,7 +194,7 @@ static void
 DisplayMsgHeader (CT ct, char *form, int concatsw)
 {
     pid_t child_id;
-    int i, vecp;
+    int vecp;
     char **vec;
     char *file;
 
@@ -225,9 +218,7 @@ DisplayMsgHeader (CT ct, char *form, int concatsw)
 
     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");
@@ -237,7 +228,7 @@ DisplayMsgHeader (CT ct, char *form, int concatsw)
        execvp (file, vec);
        fprintf (stderr, "unable to exec ");
        perror (mhlproc);
-       _exit (-1);
+       _exit(1);
        /* NOTREACHED */
 
     default:
@@ -404,7 +395,7 @@ show_content_aux2 (CT ct, int alternate, char *cracked, char *buffer,
                    int fd, int xlist, int xstdin, struct format *fmt)
 {
     pid_t child_id;
-    int i, vecp;
+    int vecp;
     char **vec, *file;
 
     if (debugsw || cracked) {
@@ -441,7 +432,7 @@ show_content_aux2 (CT ct, int alternate, char *cracked, char *buffer,
        }
 
        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];
@@ -474,8 +465,7 @@ show_content_aux2 (CT ct, int alternate, char *cracked, char *buffer,
 
     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");
@@ -494,7 +484,7 @@ show_content_aux2 (CT ct, int alternate, char *cracked, char *buffer,
            execvp (file, vec);
            fprintf (stderr, "unable to exec ");
            perror (buffer);
-           _exit (-1);
+           _exit(1);
            /* NOTREACHED */
 
        default: {
@@ -510,7 +500,7 @@ show_content_aux2 (CT ct, int alternate, char *cracked, char *buffer,
             arglist_free(file, vec);
            if (fd != NOTOK)
                (*ct->c_ceclosefnx) (ct);
-           return (alternate ? OK : status);
+           return alternate ? OK : status;
         }
     }
 }
@@ -1094,7 +1084,7 @@ convert_charset (CT ct, char *dest_charset, int *message_mods) {
         }
 
         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);