|
|
1.1 root 1: #ifndef lint
2: static char sccsid[] = "@(#)log.c 4.6 (Berkeley) 6/25/83";
3: #endif
4:
5: #include "tip.h"
6:
7: static FILE *flog = NULL;
8:
9: /*
10: * Log file maintenance routines
11: */
12:
13: logent(group, num, acu, message)
14: char *group, *num, *acu, *message;
15: {
16: char *user, *timestamp;
17: struct passwd *pwd;
18: long t;
19:
20: if (flog == NULL)
21: return;
22: if (flock(fileno(flog), LOCK_EX) < 0) {
23: perror("tip: flock");
24: return;
25: }
26: if ((user = getlogin()) == NOSTR)
27: if ((pwd = getpwuid(getuid())) == NOPWD)
28: user = "???";
29: else
30: user = pwd->pw_name;
31: t = time(0);
32: timestamp = ctime(&t);
33: timestamp[24] = '\0';
34: fprintf(flog, "%s (%s) <%s, %s, %s> %s\n",
35: user, timestamp, group,
36: #ifdef PRISTINE
37: "",
38: #else
39: num,
40: #endif
41: acu, message);
42: fflush(flog);
43: (void) flock(fileno(flog), LOCK_UN);
44: }
45:
46: loginit()
47: {
48:
49: #ifdef ACULOG
50: flog = fopen(value(LOG), "a");
51: if (flog == NULL)
52: fprintf(stderr, "can't open log file\r\n");
53: #endif
54: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.