mhshow: suppress pause actions if stdout isn't a tty
[mmh] / uip / mhshowsbr.c
index ae90a7b..5abd67d 100644 (file)
@@ -197,7 +197,7 @@ DisplayMsgHeader (CT ct, char *form)
 
     fflush (stdout);
 
-    for (i = 0; (child_id = m_vfork()) == NOTOK && i < 5; i++)
+    for (i = 0; (child_id = vfork()) == NOTOK && i < 5; i++)
        sleep (5);
 
     switch (child_id) {
@@ -533,11 +533,11 @@ show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer
        else
            list_switch (ct, -1, 1, 0, 0);
 
-       if (xpause && SOprintf ("Press <return> to show content..."))
-           printf ("Press <return> to show content...");
-
-       if (xpause) {
+       if (xpause && isatty (fileno (stdout))) {
            int intr;
+
+           if (SOprintf ("Press <return> to show content..."))
+               printf ("Press <return> to show content...");
            SIGNAL_HANDLER istat;
 
            istat = SIGNAL (SIGINT, intrser);
@@ -564,7 +564,7 @@ show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer
 
     fflush (stdout);
 
-    for (i = 0; (child_id = m_vfork()) == NOTOK && i < 5; i++)
+    for (i = 0; (child_id = vfork()) == NOTOK && i < 5; i++)
        sleep (5);
     switch (child_id) {
        case NOTOK: