u8 *s = 0;
bool use_formatted_log_entry = true;
+ vec_validate (lm->entries, lm->size);
/* make sure we are running on the main thread to avoid use in dataplane
code, for dataplane logging consider use of event-logger */
ASSERT (vlib_get_thread_index () == 0);
if (use_formatted_log_entry)
{
syslog (vlib_log_level_to_syslog_priority (level), "%.*s: %.*s",
- vec_len (tmp), tmp,
- vec_len (s) - (vec_c_string_is_terminated (s) ? 1 : 0), s);
+ (int) vec_len (tmp), tmp,
+ (int) (vec_len (s) -
+ (vec_c_string_is_terminated (s) ? 1 : 0)), s);
}
else
{
tmp = va_format (tmp, fmt, &va);
va_end (va);
syslog (vlib_log_level_to_syslog_priority (level), "%.*s",
- vec_len (tmp) - (vec_c_string_is_terminated (tmp) ? 1 : 0),
- tmp);
+ (int) (vec_len (tmp) -
+ (vec_c_string_is_terminated (tmp) ? 1 : 0)), tmp);
}
vec_free (tmp);
}
vlib_log_level_t *level = va_arg (*args, vlib_log_level_t *);
u8 *level_str = NULL;
uword rv = 1;
- if (unformat (input, "%v", &level_str))
+ if (unformat (input, "%s", &level_str))
{
#define _(v, uc, lc) \
const char __##uc[] = #lc; \
- if (!memcmp (level_str, __##uc, sizeof (__##uc))) \
+ if (!strcmp ((const char *) level_str, __##uc)) \
{ \
*level = VLIB_LOG_LEVEL_##uc; \
rv = 1; \