* in undefined state. Since _output uses vsnprintf and it may
* be called several times, we have to pass a copy of ap. */
va_copy(bp, ap);
- _output(tar, subsys, level, file, line, cont, format, ap);
+ _output(tar, subsys, level, file, line, cont, format, bp);
va_end(bp);
}
}
}
/* This generates the logging command string for VTY. */
-const char *log_vty_command_string(const struct log_info *info)
+const char *log_vty_command_string(const struct log_info *unused_info)
{
+ struct log_info *info = osmo_log_info;
int len = 0, offset = 0, ret, i, rem;
int size = strlen("logging level () ()") + 1;
char *str;
}
/* This generates the logging command description for VTY. */
-const char *log_vty_command_description(const struct log_info *info)
+const char *log_vty_command_description(const struct log_info *unused_info)
{
+ struct log_info *info = osmo_log_info;
char *str;
int i, ret, len = 0, offset = 0, rem;
unsigned int size =
osmo_log_info->num_cat_user = inf->num_cat;
/* total number = number of user cat + library cat */
- osmo_log_info->num_cat = inf->num_cat + OSMO_NUM_DLIB;
+ osmo_log_info->num_cat = inf->num_cat + ARRAY_SIZE(internal_cat);
osmo_log_info->cat = talloc_zero_array(osmo_log_info,
struct log_info_cat,
}
/* copy over the library part */
+ for (i = 0; i < ARRAY_SIZE(internal_cat); i++) {
+ unsigned int cn = osmo_log_info->num_cat_user + i;
+ memcpy(&osmo_log_info->cat[cn],
+ &internal_cat[i], sizeof(struct log_info_cat));
+ }
+
+ return 0;
}