home *** CD-ROM | disk | FTP | other *** search
- #ifndef lint
- static char *RCSid = "$Header: logfile.c,v 1.3 86/03/25 15:44:35 mcooper Exp $";
- #endif
-
- /*
- *------------------------------------------------------------------
- *
- * $Source: /usr/src/local/gr/RCS/logfile.c,v $
- * $Revision: 1.3 $
- * $Date: 86/03/25 15:44:35 $
- * $State: Exp $
- * $Author: mcooper $
- * $Locker: mcooper $
- *
- *------------------------------------------------------------------
- *
- * Michael Cooper (mcooper@usc-oberon.arpa)
- * University Computing Services,
- * University of Southern California,
- * Los Angeles, California, 90089-0251
- * (213) 743-3469
- *
- *------------------------------------------------------------------
- * $Log: logfile.c,v $
- * Revision 1.3 86/03/25 15:44:35 mcooper
- * more of same.
- *
- * Revision 1.2 86/03/25 15:35:43 mcooper
- * New headers...
- *
- *------------------------------------------------------------------
- */
-
- /*
- * logfile() -- log who is playing. If LOGFILE is defined (in gr.c)
- * then this function keeps track of users who play.
- */
-
-
- #include <stdio.h>
- #include <pwd.h>
- #include "gr.h"
-
- #ifdef LOGFILE
- struct passwd *pw;
- struct passwd *getpwuid();
-
- logfile(msg)
- char *msg;
- {
- char *fprintf();
- char *strcmp();
- char *getlogin();
- char *time(), *ctime();
- char buf[80];
- char *str;
- char *user;
- double now;
- int diff = 0;
- FILE *fd, *fopen();
-
- if ((pw = getpwuid(getuid())) != NULL)
- user = pw->pw_name;
- else
- user = "(unknown)";
-
- if((str = getlogin()) != NULL)
- if(strcmp(str, user) != 0) {
- diff = 1;
- sprintf(buf, "(%s)", str);
- }
-
- time(&now);
-
- if((fd = fopen(LOGFILE, "a")) != NULL){
- fprintf(fd, "%-10s%-12s%-7s%10.24s [ %s ]\n",
- user,
- diff ? buf : "",
- rindex(ttyname(0), '/') + 1,
- ctime(&now),
- msg);
- fclose(fd);
- }
- }
- #endif
-