-const char errlog_rcs[] = "$Id: errlog.c,v 1.61 2007/11/04 19:03:01 fabiankeil Exp $";
+const char errlog_rcs[] = "$Id: errlog.c,v 1.62 2007/11/30 15:33:46 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/errlog.c,v $
*
* Revisions :
* $Log: errlog.c,v $
+ * Revision 1.62 2007/11/30 15:33:46 fabiankeil
+ * Unbreak LOG_LEVEL_FATAL. It wasn't fatal with logging disabled
+ * and on mingw32 fatal log messages didn't end up in the log file.
+ *
* Revision 1.61 2007/11/04 19:03:01 fabiankeil
* Fix another deadlock Hal spotted and that mysteriously didn't affect FreeBSD.
*
{
if (logfp != NULL)
{
- log_error(LOG_LEVEL_INFO, "No logfile configured. Logging disabled.");
+ log_error(LOG_LEVEL_INFO,
+ "No logfile configured. Please enable it before reporting any problems.");
lock_logfile();
fclose(logfp);
logfp = NULL;
* settings and that logging is enabled.
* Bail out otherwise.
*/
- if ((loglevel != LOG_LEVEL_FATAL) &&
- ((0 == (loglevel & debug)) || (logfp == NULL)))
+ if ((0 == (loglevel & debug))
+#ifndef _WIN32
+ || (logfp == NULL)
+#endif
+ )
{
return;
}
loglevel = LOG_LEVEL_FATAL;
}
- assert(NULL != logfp || loglevel == LOG_LEVEL_FATAL);
+ assert(
+#ifndef _WIN32
+ (NULL != logfp) ||
+#endif
+ (loglevel & debug));
if (loglevel == LOG_LEVEL_FATAL)
{
fatal_error(outbuf_save);
/* Never get here */
}
- fputs(outbuf_save, logfp);
-
+ if (logfp != NULL)
+ {
+ fputs(outbuf_save, logfp);
+ }
unlock_logfile();
#if defined(_WIN32) && !defined(_WIN_CONSOLE)