
/*
 *  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);
    }
}

