projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mhshow-show-*: Made %e escape the default, i.e. always serialize the output.
[mmh]
/
uip
/
mhshowsbr.c
diff --git
a/uip/mhshowsbr.c
b/uip/mhshowsbr.c
index
e2cde4d
..
4a7fc0c
100644
(file)
--- a/
uip/mhshowsbr.c
+++ b/
uip/mhshowsbr.c
@@
-51,7
+51,7
@@
static void show_single_message(CT, char *);
static void DisplayMsgHeader(CT, char *);
static int show_switch(CT, int);
static int show_content(CT, int);
static void DisplayMsgHeader(CT, 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_content_aux2(CT, int, char *, char *, 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_text(CT, int);
static int show_multi(CT, int);
static int show_multi_internal(CT, int);
@@
-182,7
+182,7
@@
DisplayMsgHeader(CT ct, char *form)
/* NOTREACHED */
default:
/* NOTREACHED */
default:
- xpid = -child_id;
+ xpid = child_id;
break;
}
}
break;
}
}
@@
-273,12
+273,11
@@
show_content(CT ct, int alternate)
/*
** Parse the display string for displaying generic content
*/
/*
** Parse the display string for displaying generic content
*/
-
int
show_content_aux(CT ct, int alternate, char *cp, char *cracked)
{
int fd, len, buflen, quoted;
int
show_content_aux(CT ct, int alternate, char *cp, char *cracked)
{
int fd, len, buflen, quoted;
- int xstdin, xlist, xtty;
+ int xstdin, xlist;
char *bp, *pp, *file, buffer[BUFSIZ];
CI ci = &ct->c_ctinfo;
char *bp, *pp, *file, buffer[BUFSIZ];
CI ci = &ct->c_ctinfo;
@@
-298,7
+297,6
@@
show_content_aux(CT ct, int alternate, char *cp, char *cracked)
xlist = 0;
xstdin = 0;
xlist = 0;
xstdin = 0;
- xtty = 0;
if (cracked) {
strncpy(buffer, cp, sizeof(buffer));
if (cracked) {
strncpy(buffer, cp, sizeof(buffer));
@@
-353,15
+351,9
@@
show_content_aux(CT ct, int alternate, char *cp, char *cracked)
}
break;
}
break;
- case 'e':
- /* exclusive execution */
- xtty = 1;
- break;
-
case 'F':
case 'F':
- /* %e, %f, and stdin is terminal not content */
+ /* %f, and stdin is terminal not content */
xstdin = 1;
xstdin = 1;
- xtty = 1;
/* and fall... */
case 'f':
/* and fall... */
case 'f':
@@
-380,7
+372,6
@@
show_content_aux(CT ct, int alternate, char *cp, char *cracked)
pp = bp;
break;
pp = bp;
break;
- case 'p':
case 'l':
/*
** display listing prior to displaying content
case 'l':
/*
** display listing prior to displaying content
@@
-455,20
+446,24
@@
raw:
got_command:
return show_content_aux2(ct, alternate, cracked, buffer,
got_command:
return show_content_aux2(ct, alternate, cracked, buffer,
- fd, xlist, xstdin, xtty);
+ fd, xlist, xstdin);
}
/*
** Routine to actually display the content
*/
}
/*
** Routine to actually display the content
*/
-
static int
show_content_aux2(CT ct, int alternate, char *cracked,
static int
show_content_aux2(CT ct, int alternate, char *cracked,
- char *buffer, int fd, int xlist, int xstdin, int xtty)
+ char *buffer, int fd, int xlist, int xstdin)
{
pid_t child_id;
{
pid_t child_id;
+ if (xpid) {
+ pidcheck(pidwait(xpid, NOTOK));
+ xpid = 0;
+ }
+
if (debugsw || cracked) {
fflush(stdout);
if (debugsw || cracked) {
fflush(stdout);
@@
-483,13
+478,6
@@
show_content_aux2(CT ct, int alternate, char *cracked,
fprintf(stderr, " using command %s\n", 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) {
if (ct->c_type == CT_MULTIPART)
list_content(ct, -1, 1, 0, 0);
if (xlist) {
if (ct->c_type == CT_MULTIPART)
list_content(ct, -1, 1, 0, 0);
@@
-691,7
+679,7
@@
static int
show_multi_aux(CT ct, int alternate, char *cp)
{
int len, buflen, quoted;
show_multi_aux(CT ct, int alternate, char *cp)
{
int len, buflen, quoted;
- int xlist, xtty;
+ int xlist;
char *bp, *pp, *file, buffer[BUFSIZ];
struct multipart *m = (struct multipart *) ct->c_ctparams;
struct part *part;
char *bp, *pp, *file, buffer[BUFSIZ];
struct multipart *m = (struct multipart *) ct->c_ctparams;
struct part *part;
@@
-722,7
+710,6
@@
show_multi_aux(CT ct, int alternate, char *cp)
}
xlist = 0;
}
xlist = 0;
- xtty = 0;
/* get buffer ready to go */
bp = buffer;
/* get buffer ready to go */
bp = buffer;
@@
-771,16
+758,7
@@
show_multi_aux(CT ct, int alternate, char *cp)
}
break;
}
break;
- case 'e':
- /* exclusive execution */
- xtty = 1;
- break;
-
case 'F':
case 'F':
- /* %e and %f */
- xtty = 1;
- /* and fall... */
-
case 'f':
/* insert filename(s) containing content */
{
case 'f':
/* insert filename(s) containing content */
{
@@
-806,7
+784,6
@@
show_multi_aux(CT ct, int alternate, char *cp)
}
break;
}
break;
- case 'p':
case 'l':
/*
** display listing prior to displaying content
case 'l':
/*
** display listing prior to displaying content
@@
-880,7
+857,7
@@
raw:
}
return show_content_aux2(ct, alternate, NULL, buffer,
}
return show_content_aux2(ct, alternate, NULL, buffer,
- NOTOK, xlist, 0, xtty);
+ NOTOK, xlist, 0);
}
}
@@
-910,7
+887,7
@@
show_message_rfc822(CT ct, int alternate)
/* default method for message/rfc822 */
if (ct->c_subtype == MESSAGE_RFC822) {
/* default method for message/rfc822 */
if (ct->c_subtype == MESSAGE_RFC822) {
- cp = (ct->c_showproc = getcpy("%pshow -file '%F'"));
+ cp = (ct->c_showproc = getcpy("%lshow -file %F"));
return show_content_aux(ct, alternate, cp, NULL);
}
return show_content_aux(ct, alternate, cp, NULL);
}