-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.109 2010/07/26 11:30:09 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/errlog.c,v $
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;
* 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 != '\\'))
}
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++;
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);
break;
}
- } /* for( p ... ) */
+ }
/* done with var. args */
va_end(ap);