1 #
2
3 /*
4 * Mail -- a mail program
5 *
6 * Ingres 11/70. 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 = "@(#)40.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). On the 11/40, it is in /usr/mail/name
21 */
22
findmail()23 findmail()
24 {
25 register char *cp;
26
27 cp = copy("/usr/mail/", mailname);
28 copy(myname, cp);
29 }
30
31 /*
32 * Get rid of the queued mail.
33 */
34
demail()35 demail()
36 {
37
38 close(creat(mailname, 0644));
39 alter(mailname);
40 }
41
42 /*
43 * Get an environment variable. At present, we only support
44 * "SHELL" and "HOME". This routine makes use of the getpw
45 * routine in the neighboring getname.c stuff.
46 */
47
48 char *
getenv(name)49 getenv(name)
50 char name[];
51 {
52 char pwline[LINESIZE];
53 static char val[30];
54 register char *cp, *dp;
55 register int cc;
56
57 if (equal(name, "SHELL"))
58 cc = 6;
59 else if (equal(name, "HOME"))
60 cc = 5;
61 else
62 return(NOSTR);
63 if (getpw(uid, pwline) < 0)
64 return(NOSTR);
65 for (cp = pwline; *cp && cc > 0;)
66 if (*cp++ == ':')
67 cc--;
68 dp = cp;
69 while (*cp != ':' && *cp != '\0')
70 cp++;
71 *cp = '\0';
72 if (*dp == '\0')
73 return(NOSTR);
74 copy(dp, val);
75 return(val);
76 }
77
78 /*
79 * Lock and unlock retrofits which are only
80 * significant in version 7.
81 */
82
lock(name)83 lock(name)
84 char *name;
85 {
86
87 return(0);
88 }
89
unlock()90 unlock()
91 {
92
93 return(0);
94 }
95
96 /*
97 * discover user's login name.
98 */
99
username(uid,namebuf)100 username(uid, namebuf)
101 char namebuf[];
102 {
103
104 return(getname(uid, namebuf));
105 }
106