/* * elog.c */ #include "lib.h" void _elog(line, file, how, ctl, data) int line; char *file; int how; char *ctl; void *data; { static char *logfile; FILE *fi; if (logfile == NULL) { OpenCfgFile(); logfile = GetCfgLine("LOGF"); CloseCfgFile(); } if (logfile && (fi = fopen(logfile, "a"))) { char *hdr = "?"; switch(how) { case EFATAL: hdr = "Fatal"; break; case EWARN: hdr = "Warn"; break; case EDEBUG: hdr = "Debug"; break; } fprintf(fi, "%s %s.%s/%ld ", hdr, Program, file, line); fprintf(fi, ctl, data); putc('\n', fi); fclose(fi); } }