From: Ken Hornstein Date: Fri, 21 Mar 2014 16:56:37 +0000 (-0400) Subject: Remove support for parallel content display. This means we can finally drive X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/4c436246f048635446353dadaa68174445c58160?ds=inline;hp=--cc Remove support for parallel content display. This means we can finally drive a stake in the heart of the horrible xpid global! --- 4c436246f048635446353dadaa68174445c58160 diff --git a/docs/pending-release-notes b/docs/pending-release-notes index b074793f..6be3d54b 100644 --- a/docs/pending-release-notes +++ b/docs/pending-release-notes @@ -132,6 +132,9 @@ OBSOLETE FEATURES environment variable. - Instead of printing PostScript attachments, by default, from mhshow, try to find a suitable viewer. +- Support for parallel display of multipart/parallel content has been + removed from mhshow; all multipart content will be displayed in + serial. ------------------- DEPRECATED FEATURES diff --git a/h/mhparse.h b/h/mhparse.h index 7ade8a3c..f58175c0 100644 --- a/h/mhparse.h +++ b/h/mhparse.h @@ -141,7 +141,6 @@ struct Content { SizeCEFunc c_cesizefnx; /* size of decoded contents */ int c_umask; /* associated umask */ - pid_t c_pid; /* process doing display */ int c_rfc934; /* rfc934 compatibility flag */ char *c_showproc; /* default, if not in profile */ diff --git a/man/mhshow.man b/man/mhshow.man index 91f68054..482229e9 100644 --- a/man/mhshow.man +++ b/man/mhshow.man @@ -18,7 +18,6 @@ mhshow \- display MIME messages .RB [ \-type .IR content ] \&... -.RB [ \-serialonly " | " \-noserialonly ] .RB [ \-pause " | " \-nopause ] .RB [ \-form .IR formfile ] @@ -227,7 +226,6 @@ The display string may contain the following escapes: .ta \w'%F 'u %a Insert parameters from Content-Type field %{parameter} Insert the parameter value from the Content-Type field -%e exclusive execution %f Insert filename containing content %F %e, %f, and stdin is terminal not content %l display listing prior to displaying content @@ -332,14 +330,7 @@ Finally, .B mhshow will process each message serially\0--\0it won't start showing the next message until all the commands executed to display the -current message have terminated. In the case of a multipart content -(of any subtype listed above), the content contains advice indicating if -the parts should be displayed serially or in parallel. Because this may -cause confusion, particularly on uni-window displays, the -.B \-serialonly -switch can be given to tell -.B mhshow -to never display parts in parallel. +current message have terminated. .SS "Showing Alternate Character Sets" If .B mhshow @@ -647,7 +638,6 @@ is checked. .RB ` \-form\ mhl.headers ' .RB ` \-pause ' .RB ` \-rcache\ ask ' -.RB ` \-noserialonly ' .RB ` \-wcache\ ask ' .fi .SH CONTEXT diff --git a/uip/burst.c b/uip/burst.c index ff5af237..71b226c1 100644 --- a/uip/burst.c +++ b/uip/burst.c @@ -42,7 +42,6 @@ struct smsg { */ int debugsw = 0; -pid_t xpid = 0; /* * static prototypes diff --git a/uip/mhbuildsbr.c b/uip/mhbuildsbr.c index 555e3b5c..6186cfe4 100644 --- a/uip/mhbuildsbr.c +++ b/uip/mhbuildsbr.c @@ -41,8 +41,6 @@ extern int contentidsw; extern int rcachesw; /* mhcachesbr.c */ extern int wcachesw; /* mhcachesbr.c */ -pid_t xpid = 0; - static char prefix[] = "----- =_aaaaaaaaaa"; struct attach_list { diff --git a/uip/mhcachesbr.c b/uip/mhcachesbr.c index 136b5678..7e684e1f 100644 --- a/uip/mhcachesbr.c +++ b/uip/mhcachesbr.c @@ -25,8 +25,6 @@ extern int debugsw; -extern pid_t xpid; /* mhshowsbr.c or mhbuildsbr.c */ - /* cache policies */ int rcachesw = CACHE_ASK; int wcachesw = CACHE_ASK; @@ -226,13 +224,6 @@ got_it: int len, buflen; char *bp, query[BUFSIZ]; - if (xpid) { - if (xpid < 0) - xpid = -xpid; - pidcheck (pidwait (xpid, NOTOK)); - xpid = 0; - } - /* Get buffer ready to go */ bp = query; buflen = sizeof(query); diff --git a/uip/mhfixmsg.c b/uip/mhfixmsg.c index 7fd69f50..97cbab07 100644 --- a/uip/mhfixmsg.c +++ b/uip/mhfixmsg.c @@ -60,7 +60,7 @@ void reverse_parts (CT); int output_message (CT, char *); /* mhshowsbr.c */ -int show_content_aux (CT, int, int, char *, char *); +int show_content_aux (CT, int, char *, char *); /* mhmisc.c */ void flush_errors (void); @@ -1128,7 +1128,7 @@ reformat_part (CT ct, char *file, char *type, char *subtype, int c_type) { free (cp); cp = concat (cf, " >", file, NULL); - status = show_content_aux (ct, 1, 0, cp, NULL); + status = show_content_aux (ct, 0, cp, NULL); free (cp); /* Unlink decoded content tmp file and free its filename to avoid @@ -1196,7 +1196,7 @@ build_multipart_alt (CT first_alt, CT new_part, int type, int subtype) { c_cefile, c_encoding, c_digested, c_digest[16], c_ctexbody, c_ctinitfnx, c_ceopenfnx, c_ceclosefnx, c_cesizefnx, - c_umask, c_pid, c_rfc934, + c_umask, c_rfc934, c_showproc, c_termproc, c_storeproc, c_storage, c_folder */ diff --git a/uip/mhlist.c b/uip/mhlist.c index f9dbbd68..f09c1475 100644 --- a/uip/mhlist.c +++ b/uip/mhlist.c @@ -66,8 +66,6 @@ extern int userrs; * This is currently needed to keep mhparse happy. * This needs to be changed. */ -pid_t xpid = 0; - int debugsw = 0; #define quitser pipeser diff --git a/uip/mhn.c b/uip/mhn.c index c0b7e781..7f85ae55 100644 --- a/uip/mhn.c +++ b/uip/mhn.c @@ -33,8 +33,6 @@ X("nopause", 0, NPAUSESW) \ X("realsize", 0, SIZESW) \ X("norealsize", 0, NSIZESW) \ - X("serialonly", 0, SERIALSW) \ - X("noserialonly", 0, NSERIALSW) \ X("show", 0, SHOWSW) \ X("noshow", 0, NSHOWSW) \ X("store", 0, STORESW) \ @@ -85,7 +83,6 @@ extern char *cache_private; /* mhshowsbr.c */ extern int pausesw; -extern int serialsw; extern char *progsw; extern int nolist; extern int nomore; /* flags for moreproc/header display */ @@ -251,13 +248,6 @@ do_cache: pausesw = 0; continue; - case SERIALSW: - serialsw = 1; - continue; - case NSERIALSW: - serialsw = 0; - continue; - case SHOWSW: showsw = 1; continue; diff --git a/uip/mhparse.c b/uip/mhparse.c index 59f8b221..688aba18 100644 --- a/uip/mhparse.c +++ b/uip/mhparse.c @@ -23,8 +23,6 @@ extern int debugsw; -extern pid_t xpid; /* mhshowsbr.c */ - /* cache policies */ extern int rcachesw; /* mhcachesbr.c */ extern int wcachesw; /* mhcachesbr.c */ @@ -2478,13 +2476,6 @@ openFTP (CT ct, char **file) return NOTOK; } - if (xpid) { - if (xpid < 0) - xpid = -xpid; - pidcheck (pidwait (xpid, NOTOK)); - xpid = 0; - } - /* Get the buffer ready to go */ bp = buffer; buflen = sizeof(buffer); @@ -2684,13 +2675,6 @@ openMail (CT ct, char **file) return NOTOK; } - if (xpid) { - if (xpid < 0) - xpid = -xpid; - pidcheck (pidwait (xpid, NOTOK)); - xpid = 0; - } - /* Get buffer ready to go */ bp = buffer; buflen = sizeof(buffer); @@ -2821,13 +2805,6 @@ openURL (CT ct, char **file) return NOTOK; } - if (xpid) { - if (xpid < 0) - xpid = -xpid; - pidcheck (pidwait (xpid, NOTOK)); - xpid = 0; - } - ce->ce_unlink = (*file == NULL); caching = 0; cachefile[0] = '\0'; diff --git a/uip/mhshow.c b/uip/mhshow.c index f83236b7..fdad6e13 100644 --- a/uip/mhshow.c +++ b/uip/mhshow.c @@ -23,8 +23,6 @@ X("nocheck", 0, NCHECKSW) \ X("pause", 0, PAUSESW) \ X("nopause", 0, NPAUSESW) \ - X("serialonly", 0, SERIALSW) \ - X("noserialonly", 0, NSERIALSW) \ X("verbose", 0, VERBSW) \ X("noverbose", 0, NVERBSW) \ X("file file", 0, FILESW) \ @@ -64,7 +62,6 @@ extern char *cache_private; /* mhshowsbr.c */ extern int pausesw; -extern int serialsw; extern char *progsw; extern int nomore; /* flags for moreproc/header display */ extern char *formsw; @@ -175,13 +172,6 @@ do_cache: pausesw = 0; continue; - case SERIALSW: - serialsw = 1; - continue; - case NSERIALSW: - serialsw = 0; - continue; - case PARTSW: if (!(cp = *argp++) || *cp == '-') adios (NULL, "missing argument to %s", argp[-2]); diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index 13c449b3..545f78c9 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -24,7 +24,6 @@ extern int debugsw; int pausesw = 1; -int serialsw = 0; int nolist = 0; char *progsw = NULL; @@ -33,8 +32,6 @@ char *progsw = NULL; int nomore = 0; char *formsw = NULL; -pid_t xpid = 0; - static sigjmp_buf intrenv; @@ -48,25 +45,24 @@ void flush_errors (void); * prototypes */ void show_all_messages (CT *); -int show_content_aux (CT, int, int, char *, char *); +int show_content_aux (CT, int, char *, char *); /* * static prototypes */ static void show_single_message (CT, char *); static void DisplayMsgHeader (CT, char *); -static int show_switch (CT, int, int); -static int show_content (CT, int, int); -static int show_content_aux2 (CT, int, int, char *, char *, int, int, int, int, - int); -static int show_text (CT, int, int); -static int show_multi (CT, int, int); -static int show_multi_internal (CT, int, int); -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 parse_display_string (CT, char *, int *, int *, int *, int *, char *, +static int show_switch (CT, int); +static int show_content (CT, int); +static int show_content_aux2 (CT, int, char *, char *, int, int, int, int); +static int show_text (CT, int); +static int show_multi (CT, int); +static int show_multi_internal (CT, int); +static int show_multi_aux (CT, int, char *); +static int show_message_rfc822 (CT, int); +static int show_partial (CT, int); +static int show_external (CT, int); +static int parse_display_string (CT, char *, int *, int *, int *, char *, char *, size_t, int multipart); static int convert_content_charset (CT, char **); static void intrser (int); @@ -125,11 +121,9 @@ show_single_message (CT ct, char *form) */ if (form) DisplayMsgHeader(ct, form); - else - xpid = 0; /* Show the body of the message */ - show_switch (ct, 1, 0); + show_switch (ct, 0); if (ct->c_fp) { fclose (ct->c_fp); @@ -154,7 +148,6 @@ show_single_message (CT ct, char *form) /* reset the signal mask */ sigprocmask (SIG_SETMASK, &oset, &set); - xpid = 0; flush_errors (); } @@ -207,7 +200,7 @@ DisplayMsgHeader (CT ct, char *form) /* NOTREACHED */ default: - xpid = -child_id; + pidcheck(pidwait(child_id, NOTOK)); break; } @@ -221,33 +214,33 @@ DisplayMsgHeader (CT ct, char *form) */ static int -show_switch (CT ct, int serial, int alternate) +show_switch (CT ct, int alternate) { switch (ct->c_type) { case CT_MULTIPART: - return show_multi (ct, serial, alternate); + return show_multi (ct, alternate); case CT_MESSAGE: switch (ct->c_subtype) { case MESSAGE_PARTIAL: - return show_partial (ct, serial, alternate); + return show_partial (ct, alternate); case MESSAGE_EXTERNAL: - return show_external (ct, serial, alternate); + return show_external (ct, alternate); case MESSAGE_RFC822: default: - return show_message_rfc822 (ct, serial, alternate); + return show_message_rfc822 (ct, alternate); } case CT_TEXT: - return show_text (ct, serial, alternate); + return show_text (ct, alternate); case CT_AUDIO: case CT_IMAGE: case CT_VIDEO: case CT_APPLICATION: - return show_content (ct, serial, alternate); + return show_content (ct, alternate); default: adios (NULL, "unknown content type %d", ct->c_type); @@ -262,7 +255,7 @@ show_switch (CT ct, int serial, int alternate) */ static int -show_content (CT ct, int serial, int alternate) +show_content (CT ct, int alternate) { char *cp, buffer[BUFSIZ]; CI ci = &ct->c_ctinfo; @@ -271,15 +264,15 @@ show_content (CT ct, int serial, int alternate) snprintf (buffer, sizeof(buffer), "%s-show-%s/%s", invo_name, ci->ci_type, ci->ci_subtype); if ((cp = context_find (buffer)) && *cp != '\0') - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); /* Check for invo_name-show-type */ snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type); if ((cp = context_find (buffer)) && *cp != '\0') - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); if ((cp = ct->c_showproc)) - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); /* complain if we are not a part of a multipart/alternative */ if (!alternate) @@ -294,10 +287,10 @@ show_content (CT ct, int serial, int alternate) */ int -show_content_aux (CT ct, int serial, int alternate, char *cp, char *cracked) +show_content_aux (CT ct, int alternate, char *cp, char *cracked) { int fd; - int xstdin = 0, xlist = 0, xpause = 0, xtty = 0; + int xstdin = 0, xlist = 0, xpause = 0; char *file, buffer[BUFSIZ]; if (!ct->c_ceopenfnx) { @@ -332,15 +325,15 @@ show_content_aux (CT ct, int serial, int alternate, char *cp, char *cracked) goto got_command; } - if (parse_display_string (ct, cp, &xstdin, &xlist, &xpause, &xtty, file, + if (parse_display_string (ct, cp, &xstdin, &xlist, &xpause, file, buffer, sizeof(buffer) - 1, 0)) { admonish (NULL, "Buffer overflow constructing show command!\n"); return NOTOK; } got_command: - return show_content_aux2 (ct, serial, alternate, cracked, buffer, - fd, xlist, xpause, xstdin, xtty); + return show_content_aux2 (ct, alternate, cracked, buffer, + fd, xlist, xpause, xstdin); } @@ -349,8 +342,8 @@ got_command: */ static int -show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer, - int fd, int xlist, int xpause, int xstdin, int xtty) +show_content_aux2 (CT ct, int alternate, char *cracked, char *buffer, + int fd, int xlist, int xpause, int xstdin) { pid_t child_id; int i, vecp; @@ -369,13 +362,6 @@ show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer fprintf (stderr, " using command %s\n", buffer); } - if (xpid < 0 || (xtty && xpid)) { - if (xpid < 0) - xpid = -xpid; - pidcheck(pidwait (xpid, NOTOK)); - xpid = 0; - } - if (xlist) { char prompt[BUFSIZ]; @@ -434,13 +420,7 @@ show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer default: arglist_free(file, vec); - if (!serial) { - ct->c_pid = child_id; - if (xtty) - xpid = child_id; - } else { - pidcheck (pidXwait (child_id, NULL)); - } + pidcheck (pidXwait (child_id, NULL)); if (fd != NOTOK) (*ct->c_ceclosefnx) (ct); @@ -454,7 +434,7 @@ show_content_aux2 (CT ct, int serial, int alternate, char *cracked, char *buffer */ static int -show_text (CT ct, int serial, int alternate) +show_text (CT ct, int alternate) { char *cp, buffer[BUFSIZ]; CI ci = &ct->c_ctinfo; @@ -463,12 +443,12 @@ show_text (CT ct, int serial, int alternate) snprintf (buffer, sizeof(buffer), "%s-show-%s/%s", invo_name, ci->ci_type, ci->ci_subtype); if ((cp = context_find (buffer)) && *cp != '\0') - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); /* Check for invo_name-show-type */ snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type); if ((cp = context_find (buffer)) && *cp != '\0') - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); /* * Use default method if content is text/plain, or if @@ -478,7 +458,7 @@ show_text (CT ct, int serial, int alternate) snprintf (buffer, sizeof(buffer), "%%p%s %%F", progsw ? progsw : moreproc && *moreproc ? moreproc : DEFAULT_PAGER); cp = (ct->c_showproc = add (buffer, NULL)); - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); } return NOTOK; @@ -490,7 +470,7 @@ show_text (CT ct, int serial, int alternate) */ static int -show_multi (CT ct, int serial, int alternate) +show_multi (CT ct, int alternate) { char *cp, buffer[BUFSIZ]; CI ci = &ct->c_ctinfo; @@ -499,22 +479,22 @@ show_multi (CT ct, int serial, int alternate) snprintf (buffer, sizeof(buffer), "%s-show-%s/%s", invo_name, ci->ci_type, ci->ci_subtype); if ((cp = context_find (buffer)) && *cp != '\0') - return show_multi_aux (ct, serial, alternate, cp); + return show_multi_aux (ct, alternate, cp); /* Check for invo_name-show-type */ snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type); if ((cp = context_find (buffer)) && *cp != '\0') - return show_multi_aux (ct, serial, alternate, cp); + return show_multi_aux (ct, alternate, cp); if ((cp = ct->c_showproc)) - return show_multi_aux (ct, serial, alternate, cp); + return show_multi_aux (ct, alternate, cp); /* * Use default method to display this multipart content. Even * unknown types are displayable, since they're treated as mixed * per RFC 2046. */ - return show_multi_internal (ct, serial, alternate); + return show_multi_internal (ct, alternate); } @@ -524,40 +504,19 @@ show_multi (CT ct, int serial, int alternate) */ static int -show_multi_internal (CT ct, int serial, int alternate) +show_multi_internal (CT ct, int alternate) { - int alternating, nowalternate, nowserial, result; + int alternating, nowalternate, result; struct multipart *m = (struct multipart *) ct->c_ctparams; struct part *part; CT p; - sigset_t set, oset; alternating = 0; nowalternate = alternate; - if (ct->c_subtype == MULTI_PARALLEL) { - nowserial = serialsw; - } else if (ct->c_subtype == MULTI_ALTERNATE) { + if (ct->c_subtype == MULTI_ALTERNATE) { nowalternate = 1; alternating = 1; - nowserial = serial; - } else { - /* - * multipart/mixed - * mutlipart/digest - * unknown subtypes of multipart (treat as mixed per rfc2046) - */ - nowserial = serial; - } - - /* block a few signals */ - if (!nowserial) { - sigemptyset (&set); - sigaddset (&set, SIGHUP); - sigaddset (&set, SIGINT); - sigaddset (&set, SIGQUIT); - sigaddset (&set, SIGTERM); - sigprocmask (SIG_BLOCK, &set, &oset); } /* @@ -573,7 +532,7 @@ show_multi_internal (CT ct, int serial, int alternate) if (part_ok (p, 1) && type_ok (p, 1)) { int inneresult; - inneresult = show_switch (p, nowserial, nowalternate); + inneresult = show_switch (p, nowalternate); switch (inneresult) { case NOTOK: if (alternate && !alternating) { @@ -606,46 +565,7 @@ show_multi_internal (CT ct, int serial, int alternate) goto out; } - if (serial && !nowserial) { - pid_t pid; - int kids; - int status; - - kids = 0; - for (part = m->mp_parts; part; part = part->mp_next) { - p = part->mp_part; - - if (p->c_pid > OK) { - if (kill (p->c_pid, 0) == NOTOK) - p->c_pid = 0; - else - kids++; - } - } - - while (kids > 0 && (pid = wait (&status)) != NOTOK) { - pidcheck (status); - - for (part = m->mp_parts; part; part = part->mp_next) { - p = part->mp_part; - - if (xpid == pid) - xpid = 0; - if (p->c_pid == pid) { - p->c_pid = 0; - kids--; - break; - } - } - } - } - out: - if (!nowserial) { - /* reset the signal mask */ - sigprocmask (SIG_SETMASK, &oset, &set); - } - return result; } @@ -656,11 +576,11 @@ out: */ static int -show_multi_aux (CT ct, int serial, int alternate, char *cp) +show_multi_aux (CT ct, int alternate, char *cp) { /* xstdin is only used in the call to parse_display_string(): its value is ignored in the function. */ - int xstdin = 0, xlist = 0, xpause = 0, xtty = 0; + int xstdin = 0, xlist = 0, xpause = 0; char *file, buffer[BUFSIZ]; struct multipart *m = (struct multipart *) ct->c_ctparams; struct part *part; @@ -688,14 +608,14 @@ show_multi_aux (CT ct, int serial, int alternate, char *cp) } } - if (parse_display_string (ct, cp, &xstdin, &xlist, &xpause, &xtty, file, + if (parse_display_string (ct, cp, &xstdin, &xlist, &xpause, file, buffer, sizeof(buffer) - 1, 1)) { admonish (NULL, "Buffer overflow constructing show command!\n"); return NOTOK; } - return show_content_aux2 (ct, serial, alternate, NULL, buffer, - NOTOK, xlist, xpause, 0, xtty); + return show_content_aux2 (ct, alternate, NULL, buffer, + NOTOK, xlist, xpause, 0); } @@ -704,7 +624,7 @@ show_multi_aux (CT ct, int serial, int alternate, char *cp) */ static int -show_message_rfc822 (CT ct, int serial, int alternate) +show_message_rfc822 (CT ct, int alternate) { char *cp, buffer[BUFSIZ]; CI ci = &ct->c_ctinfo; @@ -713,20 +633,20 @@ show_message_rfc822 (CT ct, int serial, int alternate) snprintf (buffer, sizeof(buffer), "%s-show-%s/%s", invo_name, ci->ci_type, ci->ci_subtype); if ((cp = context_find (buffer)) && *cp != '\0') - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); /* Check for invo_name-show-type */ snprintf (buffer, sizeof(buffer), "%s-show-%s", invo_name, ci->ci_type); if ((cp = context_find (buffer)) && *cp != '\0') - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); if ((cp = ct->c_showproc)) - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); /* default method for message/rfc822 */ if (ct->c_subtype == MESSAGE_RFC822) { cp = (ct->c_showproc = add ("%pecho -file %F", NULL)); - return show_content_aux (ct, serial, alternate, cp, NULL); + return show_content_aux (ct, alternate, cp, NULL); } /* complain if we are not a part of a multipart/alternative */ @@ -742,9 +662,8 @@ show_message_rfc822 (CT ct, int serial, int alternate) */ static int -show_partial (CT ct, int serial, int alternate) +show_partial (CT ct, int alternate) { - NMH_UNUSED (serial); NMH_UNUSED (alternate); content_error (NULL, ct, @@ -760,7 +679,7 @@ show_partial (CT ct, int serial, int alternate) */ static int -show_external (CT ct, int serial, int alternate) +show_external (CT ct, int alternate) { struct exbody *e = (struct exbody *) ct->c_ctparams; CT p = e->eb_content; @@ -768,13 +687,13 @@ show_external (CT ct, int serial, int alternate) if (!type_ok (p, 0)) return OK; - return show_switch (p, serial, alternate); + return show_switch (p, alternate); } static int parse_display_string (CT ct, char *cp, int *xstdin, int *xlist, int *xpause, - int *xtty, char *file, char *buffer, size_t buflen, + char *file, char *buffer, size_t buflen, int multipart) { int len, quoted = 0; char *bp = buffer, *pp; @@ -816,14 +735,12 @@ parse_display_string (CT ct, char *cp, int *xstdin, int *xlist, int *xpause, break; case 'e': - /* exclusive execution */ - *xtty = 1; + /* no longer implemented */ break; case 'F': /* %e, %f, and stdin is terminal not content */ *xstdin = 1; - *xtty = 1; /* and fall... */ case 'f': diff --git a/uip/mhtest.c b/uip/mhtest.c index b85a91ea..38e33a84 100644 --- a/uip/mhtest.c +++ b/uip/mhtest.c @@ -59,8 +59,6 @@ extern int userrs; * This is currently needed to keep mhparse happy. * This needs to be changed. */ -pid_t xpid = 0; - int debugsw = 0; int verbosw = 0;