/* $Header: /belch_a/users/rearl/tinymuck/src/RCS/log.c,v 1.5 90/08/02 18:56:08 rearl Exp $ */ /* * $Log: log.c,v $ * Revision 1.5 90/08/02 18:56:08 rearl * Fixed NULL file pointer bugs. Netmuck no longer crashes on a non-existent * file / missing directory. All errors / commands are logged to stderr * if a file error occurs. * * Revision 1.4 90/07/29 17:38:55 rearl * Fixed double spaces in log files. * * Revision 1.3 90/07/23 14:52:17 casie * *** empty log message *** * * Revision 1.2 90/07/21 01:42:22 casie * good question... lots of changes, in fact, a complete rewrite! * * Revision 1.1 90/07/19 23:03:51 casie * Initial revision * */ /* * Handles logging of tinymuck * * Copyright (c) 1990 Chelsea Dyerman * University of California, Berkeley (XCF) * */ #include "config.h" #include <stdio.h> #include <sys/types.h> #include <time.h> #include "strings.h" #include "externs.h" void log_status(format, p1, p2, p3, p4, p5, p6, p7, p8) char *format, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8; { FILE *fp; time_t lt; lt = time(NULL); if ((fp = fopen(LOG_STATUS, "a")) == NULL) { fprintf(stderr, "Unable to open %s!\n", LOG_STATUS); fprintf(stderr, "%.16s: ", ctime(<)); fprintf(stderr, format, p1, p2, p3, p4, p5, p6, p7, p8); } else { fprintf(fp, "%.16s: ", ctime(<)); fprintf(fp, format, p1, p2, p3, p4, p5, p6, p7, p8); fclose(fp); } } void log_create(format, p1, p2, p3, p4, p5, p6, p7, p8) char *format, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8; { FILE *fp; time_t lt; lt = time(NULL); if ((fp = fopen(LOG_CREATE, "a")) == NULL) { fprintf(stderr, "Unable to open %s!\n", LOG_CREATE); fprintf(stderr, "%.16s: ", ctime(<)); fprintf(stderr, format, p1, p2, p3, p4, p5, p6, p7, p8); } else { fprintf(fp, "%.16s: ", ctime(<)); fprintf(fp, format, p1, p2, p3, p4, p5, p6, p7, p8); fclose(fp); } } void log_muf(format, p1, p2, p3, p4, p5, p6, p7, p8) char *format, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8; { FILE *muflog; if ((muflog = fopen(LOG_MUF, "a")) == NULL) { fprintf(stderr, "Unable to open %s!\n", LOG_MUF); fprintf(stderr, format, p1, p2, p3, p4, p5, p6, p7, p8); } else { fprintf(muflog, format, p1, p2, p3, p4, p5, p6, p7, p8); fclose(muflog); } } void log_gripe(format, p1, p2, p3, p4, p5, p6, p7, p8) char *format, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8; { FILE *fp; time_t lt; lt = time(NULL); if ((fp = fopen(LOG_GRIPE, "a")) == NULL) { fprintf(stderr, "Unable to open %s!\n", LOG_GRIPE); fprintf(stderr, "%.16s: ", ctime(<)); fprintf(stderr, format, p1, p2, p3, p4, p5, p6, p7, p8); } else { fprintf(fp, "%.16s: ", ctime(<)); fprintf(fp, format, p1, p2, p3, p4, p5, p6, p7, p8); fclose(fp); } } void log_command(format, p1, p2, p3, p4, p5, p6, p7, p8) char *format, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8; { FILE *fp; if ((fp = fopen(COMMAND_LOG, "a")) == NULL) { fprintf(stderr, "Unable to open %s!\n", COMMAND_LOG); fprintf(stderr, format, p1, p2, p3, p4, p5, p6, p7, p8); } else { fprintf(fp, format, p1, p2, p3, p4, p5, p6, p7, p8); fclose(fp); } }