X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fmhshowsbr.c;h=5abd67dc353b5d568a8e96a69b89791a086a6010;hb=3325d1a5623f39b8f0cf8c342da88024397500f7;hp=efa9ad3c1e72fced6e977b286323e23de7e4e653;hpb=07661da3d824585f12d0b5d19cc262115bea979a;p=mmh diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index efa9ad3..5abd67d 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -12,13 +12,14 @@ #include #include #include -#include +#include #include #include #include #include #include #include +#include extern int debugsw; @@ -74,7 +75,7 @@ static int show_multi_aux (CT, int, int, char *); static int show_message_rfc822 (CT, int, int); static int show_partial (CT, int, int); static int show_external (CT, int, int); -static RETSIGTYPE intrser (int); +static void intrser (int); /* @@ -149,7 +150,7 @@ show_single_message (CT ct, char *form) sigaddset (&set, SIGINT); sigaddset (&set, SIGQUIT); sigaddset (&set, SIGTERM); - SIGPROCMASK (SIG_BLOCK, &set, &oset); + sigprocmask (SIG_BLOCK, &set, &oset); while (wait (&status) != NOTOK) { pidcheck (status); @@ -157,7 +158,7 @@ show_single_message (CT ct, char *form) } /* reset the signal mask */ - SIGPROCMASK (SIG_SETMASK, &oset, &set); + sigprocmask (SIG_SETMASK, &oset, &set); xpid = 0; flush_errors (); @@ -468,7 +469,8 @@ raw: } } - if (buflen <= 0 || (ct->c_termproc && buflen <= strlen(ct->c_termproc))) { + if (buflen <= 0 || + (ct->c_termproc && (size_t) buflen <= strlen(ct->c_termproc))) { /* content_error would provide a more useful error message * here, except that if we got overrun, it probably would * too. @@ -531,15 +533,15 @@ 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 to show content...")) - printf ("Press to show content..."); - - if (xpause) { + if (xpause && isatty (fileno (stdout))) { int intr; + + if (SOprintf ("Press to show content...")) + printf ("Press to show content..."); SIGNAL_HANDLER istat; istat = SIGNAL (SIGINT, intrser); - if ((intr = sigsetjmp (intrenv, 1)) == OK) { + if ((intr = m_sigsetjmp (intrenv, 1)) == OK) { fflush (stdout); prompt[0] = 0; read (fileno (stdout), prompt, sizeof(prompt)); @@ -562,7 +564,7 @@ show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer fflush (stdout); - for (i = 0; (child_id = vfork ()) == NOTOK && i < 5; i++) + for (i = 0; (child_id = vfork()) == NOTOK && i < 5; i++) sleep (5); switch (child_id) { case NOTOK: @@ -709,7 +711,7 @@ show_multi_internal (CT ct, int serial, int alternate) sigaddset (&set, SIGINT); sigaddset (&set, SIGQUIT); sigaddset (&set, SIGTERM); - SIGPROCMASK (SIG_BLOCK, &set, &oset); + sigprocmask (SIG_BLOCK, &set, &oset); } /* @@ -795,7 +797,7 @@ show_multi_internal (CT ct, int serial, int alternate) out: if (!nowserial) { /* reset the signal mask */ - SIGPROCMASK (SIG_SETMASK, &oset, &set); + sigprocmask (SIG_SETMASK, &oset, &set); } return result; @@ -983,7 +985,8 @@ raw: } } - if (buflen <= 0 || (ct->c_termproc && buflen <= strlen(ct->c_termproc))) { + if (buflen <= 0 || + (ct->c_termproc && (size_t) buflen <= strlen(ct->c_termproc))) { /* content_error would provide a more useful error message * here, except that if we got overrun, it probably would * too. @@ -1050,6 +1053,9 @@ show_message_rfc822 (CT ct, int serial, int alternate) static int show_partial (CT ct, int serial, int alternate) { + NMH_UNUSED (serial); + NMH_UNUSED (alternate); + content_error (NULL, ct, "in order to display this message, you must reassemble it"); return NOTOK; @@ -1080,12 +1086,10 @@ show_external (CT ct, int serial, int alternate) } -static RETSIGTYPE +static void intrser (int i) { -#ifndef RELIABLE_SIGNALS - SIGNAL (SIGINT, intrser); -#endif + NMH_UNUSED (i); putchar ('\n'); siglongjmp (intrenv, DONE);