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