X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=errlog.c;h=b9b39cb4091c32c3f376df584094d110620861d1;hp=05b7dd8e4fc70f8807c460ae06923325705116c9;hb=6482e058f35d398401f8576fb2de4121c41870d0;hpb=f67b3326138f428863c21c7738e0c8db87fa6f5c diff --git a/errlog.c b/errlog.c index 05b7dd8e..b9b39cb4 100644 --- a/errlog.c +++ b/errlog.c @@ -1,4 +1,3 @@ -const char errlog_rcs[] = "$Id: errlog.c,v 1.126 2016/02/26 12:29:38 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/errlog.c,v $ @@ -79,9 +78,6 @@ const char errlog_rcs[] = "$Id: errlog.c,v 1.126 2016/02/26 12:29:38 fabiankeil #include "jbsockets.h" #endif -const char errlog_h_rcs[] = ERRLOG_H_VERSION; - - /* * LOG_LEVEL_FATAL cannot be turned off. (There are * some exceptional situations where we need to get a @@ -674,19 +670,13 @@ static inline const char *get_log_level_string(int loglevel) void log_error(int loglevel, const char *fmt, ...) { va_list ap; - char *outbuf = NULL; - static char *outbuf_save = NULL; + char outbuf[LOG_BUFFER_SIZE+1]; char tempbuf[LOG_BUFFER_SIZE]; size_t length = 0; const char * src = fmt; long thread_id; char timestamp[30]; - /* - * XXX: Make this a config option, - * why else do we allocate instead of using - * an array? - */ - size_t log_buffer_size = LOG_BUFFER_SIZE; + const size_t log_buffer_size = LOG_BUFFER_SIZE; #if defined(_WIN32) && !defined(_WIN_CONSOLE) /* @@ -728,20 +718,11 @@ void log_error(int loglevel, const char *fmt, ...) thread_id = get_thread_id(); get_log_timestamp(timestamp, sizeof(timestamp)); - /* protect the whole function because of the static buffer (outbuf) */ - lock_logfile(); - - if (NULL == outbuf_save) - { - outbuf_save = zalloc_or_die(log_buffer_size + 1); /* +1 for paranoia */ - } - outbuf = outbuf_save; - /* * Memsetting the whole buffer to zero (in theory) * makes things easier later on. */ - memset(outbuf, 0, log_buffer_size); + memset(outbuf, 0, sizeof(outbuf)); /* Add prefix for everything but Common Log Format messages */ if (loglevel != LOG_LEVEL_CLF) @@ -955,19 +936,21 @@ void log_error(int loglevel, const char *fmt, ...) assert(NULL != logfp); #endif + lock_logfile(); + if (loglevel == LOG_LEVEL_FATAL) { - fatal_error(outbuf_save); + fatal_error(outbuf); /* Never get here */ } if (logfp != NULL) { - fputs(outbuf_save, logfp); + fputs(outbuf, logfp); } #if defined(_WIN32) && !defined(_WIN_CONSOLE) /* Write to display */ - LogPutString(outbuf_save); + LogPutString(outbuf); #endif /* defined(_WIN32) && !defined(_WIN_CONSOLE) */ unlock_logfile(); @@ -981,17 +964,13 @@ void log_error(int loglevel, const char *fmt, ...) * * Description : Translates JB_ERR_FOO codes into strings. * - * XXX: the type of error codes is jb_err - * but the typedef'inition is currently not - * visible to all files that include errlog.h. - * * Parameters : * 1 : jb_error = a valid jb_err code * * Returns : A string with the jb_err translation * *********************************************************************/ -const char *jb_err_to_string(int jb_error) +const char *jb_err_to_string(jb_err jb_error) { switch (jb_error) {