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