projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed chmod of bccfil from make_bcc_file(). It was done before
[mmh]
/
uip
/
mhshowsbr.c
diff --git
a/uip/mhshowsbr.c
b/uip/mhshowsbr.c
index
d3397ae
..
99db9f8
100644
(file)
--- a/
uip/mhshowsbr.c
+++ b/
uip/mhshowsbr.c
@@
-19,16
+19,7
@@
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/utils.h>
#include <h/mime.h>
#include <h/mhparse.h>
#include <h/utils.h>
-
-/*
- * Just use sigjmp/longjmp on older machines that
- * don't have sigsetjmp/siglongjmp.
- */
-#ifndef HAVE_SIGSETJMP
-# define sigjmp_buf jmp_buf
-# define sigsetjmp(env,mask) setjmp(env)
-# define siglongjmp(env,val) longjmp(env,val)
-#endif
+#include <sys/wait.h>
extern int debugsw;
extern int debugsw;
@@
-47,12
+38,6
@@
pid_t xpid = 0;
static sigjmp_buf intrenv;
static sigjmp_buf intrenv;
-/* termsbr.c */
-int SOprintf (char *, ...);
-
-/* mhparse.c */
-int pidcheck (int);
-
/* mhmisc.c */
int part_ok (CT, int);
int type_ok (CT, int);
/* mhmisc.c */
int part_ok (CT, int);
int type_ok (CT, int);
@@
-84,7
+69,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 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);
/*
/*
@@
-159,7
+144,7
@@
show_single_message (CT ct, char *form)
sigaddset (&set, SIGINT);
sigaddset (&set, SIGQUIT);
sigaddset (&set, SIGTERM);
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);
while (wait (&status) != NOTOK) {
pidcheck (status);
@@
-167,7
+152,7
@@
show_single_message (CT ct, char *form)
}
/* reset the signal mask */
}
/* reset the signal mask */
- SIGPROCMASK (SIG_SETMASK, &oset, &set);
+ sigprocmask (SIG_SETMASK, &oset, &set);
xpid = 0;
flush_errors ();
xpid = 0;
flush_errors ();
@@
-478,7
+463,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.
/* content_error would provide a more useful error message
* here, except that if we got overrun, it probably would
* too.
@@
-541,13
+527,13
@@
show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer
else
list_switch (ct, -1, 1, 0, 0);
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;
SIGNAL_HANDLER istat;
int intr;
SIGNAL_HANDLER istat;
+ if (SOprintf ("Press <return> to show content..."))
+ printf ("Press <return> to show content...");
+
istat = SIGNAL (SIGINT, intrser);
if ((intr = sigsetjmp (intrenv, 1)) == OK) {
fflush (stdout);
istat = SIGNAL (SIGINT, intrser);
if ((intr = sigsetjmp (intrenv, 1)) == OK) {
fflush (stdout);
@@
-572,7
+558,7
@@
show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer
fflush (stdout);
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:
sleep (5);
switch (child_id) {
case NOTOK:
@@
-719,7
+705,7
@@
show_multi_internal (CT ct, int serial, int alternate)
sigaddset (&set, SIGINT);
sigaddset (&set, SIGQUIT);
sigaddset (&set, SIGTERM);
sigaddset (&set, SIGINT);
sigaddset (&set, SIGQUIT);
sigaddset (&set, SIGTERM);
- SIGPROCMASK (SIG_BLOCK, &set, &oset);
+ sigprocmask (SIG_BLOCK, &set, &oset);
}
/*
}
/*
@@
-805,7
+791,7
@@
show_multi_internal (CT ct, int serial, int alternate)
out:
if (!nowserial) {
/* reset the signal mask */
out:
if (!nowserial) {
/* reset the signal mask */
- SIGPROCMASK (SIG_SETMASK, &oset, &set);
+ sigprocmask (SIG_SETMASK, &oset, &set);
}
return result;
}
return result;
@@
-993,7
+979,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.
/* content_error would provide a more useful error message
* here, except that if we got overrun, it probably would
* too.
@@
-1060,6
+1047,9
@@
show_message_rfc822 (CT ct, int serial, int alternate)
static int
show_partial (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;
content_error (NULL, ct,
"in order to display this message, you must reassemble it");
return NOTOK;
@@
-1090,12
+1080,10
@@
show_external (CT ct, int serial, int alternate)
}
}
-static RETSIGTYPE
+static void
intrser (int i)
{
intrser (int i)
{
-#ifndef RELIABLE_SIGNALS
- SIGNAL (SIGINT, intrser);
-#endif
+ NMH_UNUSED (i);
putchar ('\n');
siglongjmp (intrenv, DONE);
putchar ('\n');
siglongjmp (intrenv, DONE);