xref: /original-bsd/usr.bin/mail/40.local.c (revision 0d32a429)
19e85a7a6Skas #
29e85a7a6Skas 
39e85a7a6Skas /*
49e85a7a6Skas  * Mail -- a mail program
59e85a7a6Skas  *
69e85a7a6Skas  * Ingres 11/70.  Unix version 6.0
79e85a7a6Skas  *
89e85a7a6Skas  * Local routines that are installation dependent.
99e85a7a6Skas  * All fiddlers please note:  if you make careful note of
109e85a7a6Skas  * what you change here, I will incorporate your changes and
119e85a7a6Skas  * you won't have to remake them each release.
129e85a7a6Skas  */
139e85a7a6Skas 
14*0d32a429Skurt static char *SccsId = "@(#)40.local.c	2.1 07/01/81";
159e85a7a6Skas 
169e85a7a6Skas #include "rcv.h"
179e85a7a6Skas 
189e85a7a6Skas /*
199e85a7a6Skas  * Locate the user's mailbox file (ie, the place where new, unread
209e85a7a6Skas  * mail is queued).  On the 11/40, it is in /usr/mail/name
219e85a7a6Skas  */
229e85a7a6Skas 
findmail()239e85a7a6Skas findmail()
249e85a7a6Skas {
259e85a7a6Skas 	register char *cp;
269e85a7a6Skas 
279e85a7a6Skas 	cp = copy("/usr/mail/", mailname);
289e85a7a6Skas 	copy(myname, cp);
299e85a7a6Skas }
309e85a7a6Skas 
319e85a7a6Skas /*
329e85a7a6Skas  * Get rid of the queued mail.
339e85a7a6Skas  */
349e85a7a6Skas 
demail()359e85a7a6Skas demail()
369e85a7a6Skas {
379e85a7a6Skas 
389e85a7a6Skas 	close(creat(mailname, 0644));
399e85a7a6Skas 	alter(mailname);
409e85a7a6Skas }
419e85a7a6Skas 
429e85a7a6Skas /*
439e85a7a6Skas  * Get an environment variable.  At present, we only support
449e85a7a6Skas  * "SHELL" and "HOME".  This routine makes use of the getpw
459e85a7a6Skas  * routine in the neighboring getname.c stuff.
469e85a7a6Skas  */
479e85a7a6Skas 
489e85a7a6Skas char *
getenv(name)499e85a7a6Skas getenv(name)
509e85a7a6Skas 	char name[];
519e85a7a6Skas {
529e85a7a6Skas 	char pwline[LINESIZE];
539e85a7a6Skas 	static char val[30];
549e85a7a6Skas 	register char *cp, *dp;
559e85a7a6Skas 	register int cc;
569e85a7a6Skas 
579e85a7a6Skas 	if (equal(name, "SHELL"))
589e85a7a6Skas 		cc = 6;
599e85a7a6Skas 	else if (equal(name, "HOME"))
609e85a7a6Skas 		cc = 5;
619e85a7a6Skas 	else
629e85a7a6Skas 		return(NOSTR);
639e85a7a6Skas 	if (getpw(uid, pwline) < 0)
649e85a7a6Skas 		return(NOSTR);
659e85a7a6Skas 	for (cp = pwline; *cp && cc > 0;)
669e85a7a6Skas 		if (*cp++ == ':')
679e85a7a6Skas 			cc--;
689e85a7a6Skas 	dp = cp;
699e85a7a6Skas 	while (*cp != ':' && *cp != '\0')
709e85a7a6Skas 		cp++;
719e85a7a6Skas 	*cp = '\0';
729e85a7a6Skas 	if (*dp == '\0')
739e85a7a6Skas 		return(NOSTR);
749e85a7a6Skas 	copy(dp, val);
759e85a7a6Skas 	return(val);
769e85a7a6Skas }
779e85a7a6Skas 
789e85a7a6Skas /*
799e85a7a6Skas  * Lock and unlock retrofits which are only
809e85a7a6Skas  * significant in version 7.
819e85a7a6Skas  */
829e85a7a6Skas 
lock(name)839e85a7a6Skas lock(name)
849e85a7a6Skas 	char *name;
859e85a7a6Skas {
869e85a7a6Skas 
879e85a7a6Skas 	return(0);
889e85a7a6Skas }
899e85a7a6Skas 
unlock()909e85a7a6Skas unlock()
919e85a7a6Skas {
929e85a7a6Skas 
939e85a7a6Skas 	return(0);
949e85a7a6Skas }
959e85a7a6Skas 
969e85a7a6Skas /*
979e85a7a6Skas  * discover user's login name.
989e85a7a6Skas  */
999e85a7a6Skas 
username(uid,namebuf)1009e85a7a6Skas username(uid, namebuf)
1019e85a7a6Skas 	char namebuf[];
1029e85a7a6Skas {
1039e85a7a6Skas 
1049e85a7a6Skas 	return(getname(uid, namebuf));
1059e85a7a6Skas }
106