1: /*
2: * Copyright (c) 1983 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: */
6:
7: #ifndef lint
8: static char sccsid[] = "@(#)log.c 5.1 (Berkeley) 4/30/85";
9: #endif not lint
10:
11: #include "tip.h"
12:
13: static FILE *flog = NULL;
14:
15: /*
16: * Log file maintenance routines
17: */
18:
19: logent(group, num, acu, message)
20: char *group, *num, *acu, *message;
21: {
22: char *user, *timestamp;
23: struct passwd *pwd;
24: long t;
25:
26: if (flog == NULL)
27: return;
28: if (flock(fileno(flog), LOCK_EX) < 0) {
29: perror("tip: flock");
30: return;
31: }
32: if ((user = getlogin()) == NOSTR)
33: if ((pwd = getpwuid(getuid())) == NOPWD)
34: user = "???";
35: else
36: user = pwd->pw_name;
37: t = time(0);
38: timestamp = ctime(&t);
39: timestamp[24] = '\0';
40: fprintf(flog, "%s (%s) <%s, %s, %s> %s\n",
41: user, timestamp, group,
42: #ifdef PRISTINE
43: "",
44: #else
45: num,
46: #endif
47: acu, message);
48: fflush(flog);
49: (void) flock(fileno(flog), LOCK_UN);
50: }
51:
52: loginit()
53: {
54:
55: #ifdef ACULOG
56: flog = fopen(value(LOG), "a");
57: if (flog == NULL)
58: fprintf(stderr, "can't open log file\r\n");
59: #endif
60: }
Defined functions
Defined variables
sccsid
defined in line
8;
never used