In get_log_timestamp(), use the ISO 8601 date format %Y-%m-%d.
[privoxy.git] / errlog.c
index 9990419..416b87d 100644 (file)
--- a/errlog.c
+++ b/errlog.c
@@ -1,4 +1,4 @@
-const char errlog_rcs[] = "$Id: errlog.c,v 1.102 2010/07/21 14:43:03 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, "%%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,14 +860,14 @@ 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);
 
       if (length >= log_buffer_size-2)
       {
-         static char warning[] = "... [too long, truncated]";
+         static const char warning[] = "... [too long, truncated]";
 
          length = log_buffer_size - sizeof(warning) - 1;
          length += strlcpy(outbuf + length, warning, 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);