xref: /original-bsd/usr.bin/mail/v6.local.c (revision e59fb703)
1 #
2 
3 /*
4  * Mail -- a mail program
5  *
6  * Unix version 6.0
7  *
8  * Local routines that are installation dependent.
9  * All fiddlers please note:  if you make careful note of
10  * what you change here, I will incorporate your changes and
11  * you won't have to remake them each release.
12  */
13 
14 static char *SccsId = "@(#)v6.local.c	2.1 07/01/81";
15 
16 #include "rcv.h"
17 
18 /*
19  * Locate the user's mailbox file (ie, the place where new, unread
20  * mail is queued).  In Version 6, it is in ~/.mail
21  */
22 
23 findmail()
24 {
25 	register char *cp;
26 
27 	cp = copy(homedir, mailname);
28 	copy("/.mail", cp);
29 }
30 
31 /*
32  * Get rid of the queued mail.
33  */
34 
35 demail()
36 {
37 	close(creat(mailname, 0666));
38 	alter(mailname);
39 }
40 
41 /*
42  * Get an environment variable.  At present, we only support
43  * "SHELL" and "HOME".  This routine makes use of the getpw
44  * routine in the neighboring getname.c stuff.
45  */
46 
47 char *
48 getenv(name)
49 	char name[];
50 {
51 	char pwline[LINESIZE];
52 	static char val[30];
53 	register char *cp, *dp;
54 	register int cc;
55 
56 	if (equal(name, "SHELL"))
57 		cc = 6;
58 	else if (equal(name, "HOME"))
59 		cc = 5;
60 	else
61 		return(NOSTR);
62 	if (getpw(uid, pwline) < 0)
63 		return(NOSTR);
64 	for (cp = pwline; *cp && cc > 0;)
65 		if (*cp++ == ':')
66 			cc--;
67 	dp = cp;
68 	while (*cp != ':' && *cp != '\0')
69 		cp++;
70 	*cp = '\0';
71 	if (*dp == '\0')
72 		return(NOSTR);
73 	copy(dp, val);
74 	return(val);
75 }
76 
77 /*
78  * Lock and unlock retrofits which are only
79  * significant in version 7.
80  */
81 
82 lock(name)
83 	char *name;
84 {
85 
86 	return(0);
87 }
88 
89 unlock()
90 {
91 
92 	return(0);
93 }
94 
95 /*
96  * Discover user login name.
97  */
98 
99 username(uid, namebuf)
100 	char namebuf[];
101 {
102 
103 	return(getname(uid, namebuf));
104 }
105