X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=errlog.c;h=416b87d4f6014551faf3a87d9d342a9fa8b2ef4e;hb=55084ab600988333a56a957debf2facde59beaab;hp=30cb86c12b94c4c794d9c12957a7a81395318b77;hpb=5669d9343ba89e94a935ffb9555f827a76aa917c;p=privoxy.git diff --git a/errlog.c b/errlog.c index 30cb86c1..416b87d4 100644 --- a/errlog.c +++ b/errlog.c @@ -1,4 +1,4 @@ -const char errlog_rcs[] = "$Id: errlog.c,v 1.103 2010/07/26 11:19:31 fabiankeil Exp $"; +const char errlog_rcs[] = "$Id: errlog.c,v 1.110 2010/07/26 12:11:51 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/errlog.c,v $ @@ -450,7 +450,7 @@ static inline size_t get_log_timestamp(char *buffer, size_t buffer_size) tm_now = *localtime(&now); #endif - length = strftime(buffer, buffer_size, "%b %d %H:%M:%S", &tm_now); + length = strftime(buffer, buffer_size, "%Y-%m-%d %H:%M:%S", &tm_now); if (length > (size_t)0) { msecs_length = snprintf(buffer+length, buffer_size - length, ".%.3ld", msecs); @@ -572,9 +572,12 @@ static inline const char *get_log_level_string(int loglevel) case LOG_LEVEL_CONNECT: log_level_string = "Connect"; break; - case LOG_LEVEL_LOG: + case LOG_LEVEL_WRITING: log_level_string = "Writing"; break; + case LOG_LEVEL_RECEIVED: + log_level_string = "Received"; + break; case LOG_LEVEL_HEADER: log_level_string = "Header"; break; @@ -794,27 +797,10 @@ void log_error(int loglevel, const char *fmt, ...) * Takes 2 parameters: int length, const char * string. */ ival = va_arg(ap, int); + assert(ival >= 0); sval = va_arg(ap, char *); - if (sval == NULL) - { - format_string = "[null]"; - } - else if (ival <= 0) - { - if (0 == ival) - { - /* That's ok (but stupid) */ - tempbuf[0] = '\0'; - } - else - { - /* - * That's not ok (and even more stupid) - */ - assert(ival >= 0); - format_string = "[counted string lenght < 0]"; - } - } + assert(sval != NULL); + while ((ival-- > 0) && (length < log_buffer_size - 6)) { if (isprint((int)*sval) && (*sval != '\\')) @@ -824,8 +810,9 @@ void log_error(int loglevel, const char *fmt, ...) } else { - snprintf(outbuf + length, log_buffer_size - length - 2, - "\\x%.2x", (int)*sval); + int ret = snprintf(outbuf + length, + log_buffer_size - length - 2, "\\x%.2x", (unsigned char)*sval); + assert(ret == 4); length += 4; } sval++; @@ -873,7 +860,7 @@ void log_error(int loglevel, const char *fmt, ...) snprintf(tempbuf, sizeof(tempbuf), "Bad format string: \"%s\"", fmt); loglevel = LOG_LEVEL_FATAL; break; - } /* switch( p ) */ + } assert(length < log_buffer_size); length += strlcpy(outbuf + length, format_string, log_buffer_size - length); @@ -888,7 +875,7 @@ void log_error(int loglevel, const char *fmt, ...) break; } - } /* for( p ... ) */ + } /* done with var. args */ va_end(ap);