needs it intact
SCCS-vsn: usr.bin/mail/cmd3.c 1.6
* Still more user commands.
*/
* Still more user commands.
*/
-static char *SccsId = "@(#)cmd3.c 1.5 %G%";
+static char *SccsId = "@(#)cmd3.c 1.6 %G%";
/*
* Process a shell escape by saving signals, ignoring signals,
/*
* Process a shell escape by saving signals, ignoring signals,
{
register char *cp;
char savename[BUFSIZ];
{
register char *cp;
char savename[BUFSIZ];
+ char oldmailname[BUFSIZ];
switch (*name) {
case '%':
strcpy(prevfile, mailname);
if (name[1] != 0) {
strcpy(savename, myname);
switch (*name) {
case '%':
strcpy(prevfile, mailname);
if (name[1] != 0) {
strcpy(savename, myname);
+ strcpy(oldmailname, mailname);
strncpy(myname, name+1, PATHSIZE-1);
myname[PATHSIZE-1] = 0;
findmail();
strncpy(myname, name+1, PATHSIZE-1);
myname[PATHSIZE-1] = 0;
findmail();
+ cp = savestr(mailname);
strcpy(myname, savename);
strcpy(myname, savename);
+ strcpy(mailname, oldmailname);
+ strcpy(oldmailname, mailname);
+ cp = savestr(mailname);
+ strcpy(mailname, oldmailname);
+ return(cp);
case '#':
if (name[1] != 0)
case '#':
if (name[1] != 0)
printf("No previous file\n");
return(NOSTR);
}
printf("No previous file\n");
return(NOSTR);
}
- strcpy(savename, prevfile);
+ cp = savestr(prevfile);
strcpy(prevfile, mailname);
strcpy(prevfile, mailname);
- strcpy(mailname, savename);
- return(mailname);
case '&':
strcpy(prevfile, mailname);
case '&':
strcpy(prevfile, mailname);