* uip/sendsbr.c: replaced st_mtim with st_mtime, that's what
[mmh] / uip / show.c
index 5ab6370..b068d49 100644 (file)
@@ -3,10 +3,15 @@
  * show.c -- show/list messages
  *
  * $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh.  See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
  */
 
 #include <h/mh.h>
 #include <h/mime.h>
+#include <h/utils.h>
 
 static struct swit switches[] = {
 #define CHECKMIMESW          0
@@ -49,6 +54,9 @@ static struct swit switches[] = {
  */
 static int is_nontext(char *);
 
+/* prototype from mhlsbr.c */
+int mhl (int, char **);
+
 #define        SHOW  0
 #define        NEXT  1
 #define        PREV  2
@@ -315,6 +323,14 @@ go_to_it: ;
        vec[vecp] = NULL;
     }
 
+    /* If the "proc" is "mhshow", add "-file" if showing file or draft.
+     */
+    if (strcmp (r1bindex (proc, '/'), "mhshow") == 0 && (draftsw || file) ) {
+       vec[vecp] = vec[vecp - 1];
+       vec[vecp - 1] = "-file";
+       vec[++vecp] = NULL;
+    }
+
     /*
      * If "proc" is mhl, then run it internally
      * rather than exec'ing it.
@@ -345,6 +361,7 @@ go_to_it: ;
     vec[0] = r1bindex (proc, '/');
     execvp (proc, vec);
     adios (proc, "unable to exec");
+    return 0;  /* dead code to satisfy the compiler */
 }
 
 /*
@@ -458,7 +475,7 @@ invalid:
                                *bp = '\0';
                        } else {
                            for (bp = dp; *bp; bp++)
-                               if (isspace (*bp)) {
+                               if (!istoken (*bp)) {
                                    *bp = '\0';
                                    break;
                                }