projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
man page in the right palce
[unix-history]
/
usr
/
src
/
usr.bin
/
mail
/
cmd3.c
diff --git
a/usr/src/usr.bin/mail/cmd3.c
b/usr/src/usr.bin/mail/cmd3.c
index
0c4d6fc
..
d3069f0
100644
(file)
--- a/
usr/src/usr.bin/mail/cmd3.c
+++ b/
usr/src/usr.bin/mail/cmd3.c
@@
-16,7
+16,7
@@
*/
#ifndef lint
*/
#ifndef lint
-static char sccsid[] = "@(#)cmd3.c 5.
15
(Berkeley) %G%";
+static char sccsid[] = "@(#)cmd3.c 5.
22
(Berkeley) %G%";
#endif /* not lint */
#include "rcv.h"
#endif /* not lint */
#include "rcv.h"
@@
-34,19
+34,17
@@
static char sccsid[] = "@(#)cmd3.c 5.15 (Berkeley) %G%";
shell(str)
char *str;
{
shell(str)
char *str;
{
- int (*sigint)() = signal(SIGINT, SIG_IGN);
- int (*sigcont)() = signal(SIGCONT, SIG_DFL);
+ sig_t sigint = signal(SIGINT, SIG_IGN);
char *shell;
char cmd[BUFSIZ];
(void) strcpy(cmd, str);
if (bangexp(cmd) < 0)
char *shell;
char cmd[BUFSIZ];
(void) strcpy(cmd, str);
if (bangexp(cmd) < 0)
- return
(-1)
;
+ return
1
;
if ((shell = value("SHELL")) == NOSTR)
if ((shell = value("SHELL")) == NOSTR)
- shell = SHELL;
+ shell =
_PATH_C
SHELL;
(void) run_command(shell, 0, -1, -1, "-c", cmd, NOSTR);
(void) signal(SIGINT, sigint);
(void) run_command(shell, 0, -1, -1, "-c", cmd, NOSTR);
(void) signal(SIGINT, sigint);
- (void) signal(SIGCONT, sigcont);
printf("!\n");
return 0;
}
printf("!\n");
return 0;
}
@@
-58,15
+56,13
@@
shell(str)
dosh(str)
char *str;
{
dosh(str)
char *str;
{
- int (*sigint)() = signal(SIGINT, SIG_IGN);
- int (*sigcont)() = signal(SIGCONT, SIG_DFL);
+ sig_t sigint = signal(SIGINT, SIG_IGN);
char *shell;
if ((shell = value("SHELL")) == NOSTR)
char *shell;
if ((shell = value("SHELL")) == NOSTR)
- shell = SHELL;
+ shell =
_PATH_C
SHELL;
(void) run_command(shell, 0, -1, -1, NOSTR);
(void) signal(SIGINT, sigint);
(void) run_command(shell, 0, -1, -1, NOSTR);
(void) signal(SIGINT, sigint);
- (void) signal(SIGCONT, sigcont);
putchar('\n');
return 0;
}
putchar('\n');
return 0;
}
@@
-134,8
+130,8
@@
help()
register c;
register FILE *f;
register c;
register FILE *f;
- if ((f = fopen(
HELPFILE
, "r")) == NULL) {
- perror(
HELPFILE
);
+ if ((f = fopen(
_PATH_HELP
, "r")) == NULL) {
+ perror(
_PATH_HELP
);
return(1);
}
while ((c = getc(f)) != EOF)
return(1);
}
while ((c = getc(f)) != EOF)
@@
-191,6
+187,7
@@
_respond(msgvec)
return(1);
}
mp = &message[msgvec[0] - 1];
return(1);
}
mp = &message[msgvec[0] - 1];
+ touch(mp);
dot = mp;
if ((rcv = skin(hfield("from", mp))) == NOSTR)
rcv = skin(nameof(mp, 1));
dot = mp;
if ((rcv = skin(hfield("from", mp))) == NOSTR)
rcv = skin(nameof(mp, 1));
@@
-205,10
+202,10
@@
_respond(msgvec)
* Delete my name from the reply list,
* and with it, all my alternate names.
*/
* Delete my name from the reply list,
* and with it, all my alternate names.
*/
- np = delname(np, myname
, icequal
);
+ np = delname(np, myname);
if (altnames)
for (ap = altnames; *ap; ap++)
if (altnames)
for (ap = altnames; *ap; ap++)
- np = delname(np, *ap
, icequal
);
+ np = delname(np, *ap);
if (np != NIL && replyto == NOSTR)
np = cat(np, extract(rcv, GTO));
else if (np == NIL) {
if (np != NIL && replyto == NOSTR)
np = cat(np, extract(rcv, GTO));
else if (np == NIL) {
@@
-222,10
+219,10
@@
_respond(msgvec)
head.h_subject = reedit(head.h_subject);
if (replyto == NOSTR && (cp = skin(hfield("cc", mp))) != NOSTR) {
np = elide(extract(cp, GCC));
head.h_subject = reedit(head.h_subject);
if (replyto == NOSTR && (cp = skin(hfield("cc", mp))) != NOSTR) {
np = elide(extract(cp, GCC));
- np = delname(np, myname
, icequal
);
+ np = delname(np, myname);
if (altnames != 0)
for (ap = altnames; *ap; ap++)
if (altnames != 0)
for (ap = altnames; *ap; ap++)
- np = delname(np, *ap
, icequal
);
+ np = delname(np, *ap);
head.h_cc = np;
} else
head.h_cc = NIL;
head.h_cc = np;
} else
head.h_cc = NIL;
@@
-342,7
+339,7
@@
set(arglist)
char varbuf[BUFSIZ], **ap, **p;
int errs, h, s;
char varbuf[BUFSIZ], **ap, **p;
int errs, h, s;
- if (
argcount(arglist) == 0
) {
+ if (
*arglist == NOSTR
) {
for (h = 0, s = 1; h < HSHSIZE; h++)
for (vp = variables[h]; vp != NOVAR; vp = vp->v_link)
s++;
for (h = 0, s = 1; h < HSHSIZE; h++)
for (vp = variables[h]; vp != NOVAR; vp = vp->v_link)
s++;
@@
-428,7
+425,7
@@
group(argv)
int s;
char **ap, *gname, **p;
int s;
char **ap, *gname, **p;
- if (
argcount(argv) == 0
) {
+ if (
*argv == NOSTR
) {
for (h = 0, s = 1; h < HSHSIZE; h++)
for (gh = groups[h]; gh != NOGRP; gh = gh->g_link)
s++;
for (h = 0, s = 1; h < HSHSIZE; h++)
for (gh = groups[h]; gh != NOGRP; gh = gh->g_link)
s++;
@@
-442,7
+439,7
@@
group(argv)
printgroup(*p);
return(0);
}
printgroup(*p);
return(0);
}
- if (arg
count(argv) == 1
) {
+ if (arg
v[1] == NOSTR
) {
printgroup(*argv);
return(0);
}
printgroup(*argv);
return(0);
}
@@
-511,27
+508,19
@@
null(e)
}
/*
}
/*
- * Print out the current edit file, if we are editing.
- * Otherwise, print the name of the person who's mail
- * we are reading.
+ * Change to another file. With no argument, print information about
+ * the current file.
*/
*/
-
file(argv)
register char **argv;
{
file(argv)
register char **argv;
{
- register char *cp;
if (argv[0] == NOSTR) {
newfileinfo();
return 0;
}
if (argv[0] == NOSTR) {
newfileinfo();
return 0;
}
- if ((cp = expand(*argv)) == NOSTR)
- return -1;
- strcpy(prevfile, mailname);
- if (setfile(cp, **argv != '%')) {
- perror(cp);
- return -1;
- }
+ if (setfile(*argv) < 0)
+ return 1;
announce();
return 0;
}
announce();
return 0;
}
@@
-582,6
+571,7
@@
_Respond(msgvec)
head.h_to = NIL;
for (ap = msgvec; *ap != 0; ap++) {
mp = &message[*ap - 1];
head.h_to = NIL;
for (ap = msgvec; *ap != 0; ap++) {
mp = &message[*ap - 1];
+ touch(mp);
dot = mp;
if ((cp = skin(hfield("from", mp))) == NOSTR)
cp = skin(nameof(mp, 2));
dot = mp;
if ((cp = skin(hfield("from", mp))) == NOSTR)
cp = skin(nameof(mp, 2));