X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=errlog.c;h=c6c9b28f8f62597e02a4dbc5e90649920888070b;hp=6afe088b08f96182a2c615ec8531ef09fcbba8d3;hb=692aa2e4bfec53ecab5177be3c84ae2c9576d0c3;hpb=0e2be80c3229e207936c707d42630914eef3caaa 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)