From 692aa2e4bfec53ecab5177be3c84ae2c9576d0c3 Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Sat, 15 Dec 2007 19:49:32 +0000 Subject: [PATCH] Stop overloading logfile to control the mingw32 log window as well. It's no longer necessary now that we disable all debug lines by default and at least one user perceived it as a regression (added in 1.55). --- errlog.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/errlog.c b/errlog.c index 6afe088b..c6c9b28f 100644 --- a/errlog.c +++ b/errlog.c @@ -1,4 +1,4 @@ -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 $ @@ -33,6 +33,10 @@ const char errlog_rcs[] = "$Id: errlog.c,v 1.61 2007/11/04 19:03:01 fabiankeil E * * 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. * @@ -535,7 +539,8 @@ void disable_logging(void) { 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; @@ -905,8 +910,11 @@ void log_error(int loglevel, const char *fmt, ...) * 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; } @@ -1142,15 +1150,21 @@ void log_error(int loglevel, const char *fmt, ...) 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) -- 2.39.2