xref: /csrg-svn/usr.bin/mail/temp.c (revision 22468)
1*22468Sdist /*
2*22468Sdist  * Copyright (c) 1980 Regents of the University of California.
3*22468Sdist  * All rights reserved.  The Berkeley software License Agreement
4*22468Sdist  * specifies the terms and conditions for redistribution.
5*22468Sdist  */
6*22468Sdist 
714541Ssam #ifndef lint
8*22468Sdist static char sccsid[] = "@(#)temp.c	5.1 (Berkeley) 06/06/85";
9*22468Sdist #endif not lint
101246Skas 
111246Skas #include "rcv.h"
121246Skas 
131246Skas /*
141246Skas  * Mail -- a mail program
151246Skas  *
161246Skas  * Give names to all the temporary files that we will need.
171246Skas  */
181246Skas 
191246Skas char	tempMail[14];
201246Skas char	tempQuit[14];
211246Skas char	tempEdit[14];
221246Skas char	tempSet[14];
231246Skas char	tempResid[14];
241246Skas char	tempMesg[14];
251246Skas 
261246Skas tinit()
271246Skas {
281246Skas 	register char *cp, *cp2;
291488Skas 	char uname[PATHSIZE];
301246Skas 	register int err = 0;
311246Skas 	register int pid;
321246Skas 
331246Skas 	pid = getpid();
341246Skas 	sprintf(tempMail, "/tmp/Rs%05d", pid);
351246Skas 	sprintf(tempResid, "/tmp/Rq%05d", pid);
361246Skas 	sprintf(tempQuit, "/tmp/Rm%05d", pid);
371246Skas 	sprintf(tempEdit, "/tmp/Re%05d", pid);
381246Skas 	sprintf(tempSet, "/tmp/Rx%05d", pid);
391246Skas 	sprintf(tempMesg, "/tmp/Rx%05d", pid);
401246Skas 
411246Skas 	if (strlen(myname) != 0) {
421246Skas 		uid = getuserid(myname);
431725Skas 		if (uid == -1) {
441725Skas 			printf("\"%s\" is not a user of this system\n",
451725Skas 			    myname);
461725Skas 			exit(1);
471725Skas 		}
481246Skas 	}
491246Skas 	else {
501246Skas 		uid = getuid() & UIDMASK;
511246Skas 		if (username(uid, uname) < 0) {
521246Skas 			copy("ubluit", myname);
531246Skas 			err++;
541246Skas 			if (rcvmode) {
551246Skas 				printf("Who are you!?\n");
561246Skas 				exit(1);
571246Skas 			}
581246Skas 		}
591725Skas 		else
601725Skas 			copy(uname, myname);
611246Skas 	}
621246Skas 	cp = value("HOME");
631246Skas 	if (cp == NOSTR)
641246Skas 		cp = ".";
651246Skas 	copy(cp, homedir);
661246Skas 	findmail();
671246Skas 	cp = copy(homedir, mbox);
681246Skas 	copy("/mbox", cp);
691246Skas 	cp = copy(homedir, mailrc);
701246Skas 	copy("/.mailrc", cp);
711246Skas 	cp = copy(homedir, deadletter);
721246Skas 	copy("/dead.letter", cp);
731246Skas 	if (debug) {
741246Skas 		printf("uid = %d, user = %s, mailname = %s\n",
751246Skas 		    uid, myname, mailname);
761246Skas 		printf("deadletter = %s, mailrc = %s, mbox = %s\n",
771246Skas 		    deadletter, mailrc, mbox);
781246Skas 	}
791246Skas }
80