#include <h/signals.h>
#include <h/md5.h>
#include <errno.h>
-#include <h/m_setjmp.h>
+#include <setjmp.h>
#include <signal.h>
#include <h/mts.h>
#include <h/tws.h>
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);
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;
+ if (SOprintf ("Press <return> to show content..."))
+ printf ("Press <return> to show content...");
+
istat = SIGNAL (SIGINT, intrser);
- if ((intr = m_sigsetjmp (intrenv, 1)) == OK) {
+ if ((intr = sigsetjmp (intrenv, 1)) == OK) {
fflush (stdout);
prompt[0] = 0;
read (fileno (stdout), prompt, sizeof(prompt));
return show_multi_aux (ct, serial, alternate, cp);
/*
- * Use default method to display this multipart content
- * if it is not a (nested) part of a multipart/alternative,
- * or if it is one of the known subtypes of multipart.
+ * Use default method to display this multipart content. Even
+ * unknown types are displayable, since they're treated as mixed
+ * per RFC 2046.
*/
- if (!alternate || ct->c_subtype != MULTI_UNKNOWN)
- return show_multi_internal (ct, serial, alternate);
-
- return NOTOK;
+ return show_multi_internal (ct, serial, alternate);
}
}
if (buflen <= 0 ||
- (ct->c_termproc && (size_t) buflen <= strlen(ct->c_termproc))) {
+ (ct->c_termproc && buflen <= (ssize_t) strlen(ct->c_termproc))) {
/* content_error would provide a more useful error message
* here, except that if we got overrun, it probably would
* too.