xref: /original-bsd/usr.bin/tip/log.c (revision 6c57d260)
1 /*	log.c	4.1	81/05/09	*/
2 #include "tip.h"
3 
4 #ifdef ACULOG
5 static FILE *flog = NULL;
6 
7 /*
8  * Log file maintenance routines
9  */
10 
11 logent(group, num, acu, message)
12 char *group, *num, *acu, *message;
13 {
14 	char *user, *timestamp;
15 	struct passwd *pwd;
16 	long t;
17 
18 	if (flog == NULL)
19 		return;
20 	if (!lock(value(LOCK))) {
21 		fprintf(stderr, "can't lock up accounting file\r\n");
22 		return;
23 	}
24 	if ((user = getlogin()) == NOSTR)
25 		if ((pwd = getpwuid(getuid())) == NOPWD)
26 			user = "???";
27 		else
28 			user = pwd->pw_name;
29 	t = time(0);
30 	timestamp = ctime(&t);
31 	timestamp[24] = '\0';
32 	fprintf(flog, "%s (%s) <%s, %s, %s> %s\n",
33 		user, timestamp, group,
34 #ifdef PRISTINE
35 		"",
36 #else
37 		num,
38 #endif
39 		acu, message);
40 	fflush(flog);
41 	unlock();
42 }
43 
44 loginit()
45 {
46 	if ((flog = fopen(value(LOG), "a")) == NULL)
47 		fprintf(stderr, "can't open log file\r\n");
48 }
49 #endif
50