|
|
1.1 root 1: #ident "@(#)temp.c 1.4 'attmail mail(1) command'"
2: #ident "@(#)mailx:temp.c 1.5.1.1"
3: /* Copyright (c) 1984 AT&T */
4: /* All Rights Reserved */
5:
6: /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
7: /* The copyright notice above does not evidence any */
8: /* actual or intended publication of such source code. */
9:
10: #ident "@(#)mailx:temp.c 1.5"
11:
12: #include "rcv.h"
13: #include <pwd.h>
14: #ifdef preSVr4
15: extern struct passwd *getpwnam();
16: extern struct passwd *getpwuid();
17: #endif
18:
19: /*
20: * mailx -- a modified version of a University of California at Berkeley
21: * mail program
22: *
23: * Give names to all the temporary files that we will need.
24: */
25:
26: void
27: tinit()
28: {
29: /* char usrname[PATHSIZE]; why is this here?? adb */
30: register int err = 0;
31: register pid_t pid = mypid;
32:
33: sprintf(tempMail, "/tmp/Rs%-ld", pid);
34: sprintf(tempResid, "/tmp/Rq%-ld", pid); /* adb */
35: sprintf(tempQuit, "/tmp/Rm%-ld", pid);
36: sprintf(tempEdit, "/tmp/Re%-ld", pid);
37: sprintf(tempSet, "/tmp/Rx%-ld", pid);
38: sprintf(tempMesg, "/tmp/Rx%-ld", pid);
39: sprintf(tempZedit, "/tmp/Rz%-ld", pid);
40:
41: /* check the uid if myname was set by -u */
42: if (strlen(myname) != 0) {
43: struct passwd *pwd = getpwnam(myname);
44: if (!pwd) {
45: printf("\"%s\" is not a user of this system\n",
46: myname);
47: exit(1);
48: }
49: else
50: uid = pwd->pw_uid;
51: endpwent();
52: }
53: /* get the name associated with this uid */
54: else {
55: struct passwd *pwd = getpwuid(uid = myruid);
56: if (!pwd) {
57: copy("ubluit", myname);
58: err++;
59: if (rcvmode) {
60: printf("Who are you!?\n");
61: exit(1);
62: }
63: }
64: else
65: copy(pwd->pw_name, myname);
66: endpwent();
67: }
68: strcpy(homedir, Getf("HOME"));
69: findmail();
70: assign("MBOX", Getf("MBOX"));
71: assign("MAILRC", Getf("MAILRC"));
72: assign("DEAD", Getf("DEAD"));
73: assign("save", "");
74: assign("asksub", "");
75: assign("header", "");
76: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.