
static char *logFileName=NULL;

//
// Write formatted output to logfile
//
int __cdecl logprintf(const char *formatstr, ...) {
  FILE *logfile;
  int retval=0;

  va_list(arglist);
  va_start(arglist, formatstr);     
  if (logFileName) {
    logfile=fopen(logFileName, "a");
    if (logfile) {
      retval=vfprintf(logfile, formatstr, arglist);
      fclose(logfile);
    }
  }

  va_end(arglist);
  return retval;
}

static void createLogfile(const char *aLogFileName) {
  if (logFileName) {
    free(logFileName);
    logFileName=NULL;
  }
  if (aLogFileName) {
    logFileName=strdup(aLogFileName);
    FILE *logfile=fopen(logFileName, "w");
    if (logfile) {
      logprintf("Logfile '%s' created.\n", logFileName);
      fclose(logfile);
    }
  }
}

