windows-nt/Source/XPSP1/NT/base/ntsetup/mpk/misclib/log.c
2020-09-26 16:20:57 +08:00

79 lines
1.1 KiB
C

#include <mytypes.h>
#include <misclib.h>
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <stdarg.h>
char *_LogFilename;
FILE *_LogFile;
unsigned _LogFlags;
VOID
_LogStart(
IN char *FileName
)
{
if(_LogFilename = strdup(FileName)) {
// changed to append to match requested behavior
if(_LogFile = fopen(_LogFilename,"at")) {
_Log("\n*** Logging started\n\n");
} else {
free(_LogFilename);
}
}
}
VOID
_LogEnd(
VOID
)
{
if(_LogFile) {
_Log("\n*** Logging terminated\n\n");
//fflush(_LogFile);
fclose(_LogFile);
_LogFile = NULL;
}
}
VOID
_LogSetFlags(
IN unsigned Flags
)
{
_LogFlags = Flags;
}
VOID
_Log(
IN char *FormatString,
...
)
{
va_list arglist;
if(!_LogFile) {
return;
}
va_start(arglist,FormatString);
vfprintf(_LogFile,FormatString,arglist);
va_end(arglist);
//fflush(_LogFile);
if(_LogFlags & LOGFLAG_CLOSE_REOPEN) {
fclose(_LogFile);
_LogFile = fopen(_LogFilename,"at");
}
}