X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Flib-logging.c;h=657363edb27d3c21dae41a57e8fa03fc4d2090cb;hb=fdd3a2da18afef5ca32ba181a8b6ebbff173df02;hp=3fd96dd1ac401ecc2e55931d67b6bb1d340ef88f;hpb=5badd463e184894a3bfd5b8db257efc6f92c6374;p=babeltrace.git diff --git a/lib/lib-logging.c b/lib/lib-logging.c index 3fd96dd1..657363ed 100644 --- a/lib/lib-logging.c +++ b/lib/lib-logging.c @@ -62,7 +62,7 @@ #include #include #include -#include +#include #include #include #include @@ -409,24 +409,34 @@ static inline void format_field_path(char **buf_ch, bool extended, { uint64_t i; - if (field_path->indexes) { - BT_ASSERT(field_path->indexes); - BUF_APPEND(", %sindex-count=%u", - PRFIELD(field_path->indexes->len)); + if (field_path->items) { + BT_ASSERT(field_path->items); + BUF_APPEND(", %sitem-count=%u", + PRFIELD(field_path->items->len)); } - if (!extended || !field_path->indexes) { + if (!extended || !field_path->items) { return; } BUF_APPEND(", %spath=[%s", PRFIELD(bt_common_scope_string(field_path->root))); - for (i = 0; i < field_path->indexes->len; i++) { - uint64_t index = bt_field_path_get_index_by_index_inline( - field_path, i); - - BUF_APPEND(", %" PRIu64, index); + for (i = 0; i < bt_field_path_get_item_count(field_path); i++) { + const struct bt_field_path_item *fp_item = + bt_field_path_borrow_item_by_index_const(field_path, i); + + switch (bt_field_path_item_get_type(fp_item)) { + case BT_FIELD_PATH_ITEM_TYPE_INDEX: + BUF_APPEND(", %" PRIu64, + bt_field_path_item_index_get_index(fp_item)); + break; + case BT_FIELD_PATH_ITEM_TYPE_CURRENT_ARRAY_ELEMENT: + BUF_APPEND("%s", ", "); + break; + default: + abort(); + } } BUF_APPEND("%s", "]"); @@ -479,8 +489,6 @@ static inline void format_trace(char **buf_ch, bool extended, PRFIELD(trace->streams->len)); } - BUF_APPEND(", %sis-static=%d", PRFIELD(trace->is_static)); - if (!trace->class) { return; } @@ -811,11 +819,16 @@ static inline void format_value(char **buf_ch, bool extended, BUF_APPEND(", %svalue=%d", PRFIELD(val)); break; } - case BT_VALUE_TYPE_INTEGER: + case BT_VALUE_TYPE_UNSIGNED_INTEGER: { - int64_t val = bt_value_integer_get(value); - - BUF_APPEND(", %svalue=%" PRId64, PRFIELD(val)); + BUF_APPEND(", %svalue=%" PRIu64, + PRFIELD(bt_value_unsigned_integer_get(value))); + break; + } + case BT_VALUE_TYPE_SIGNED_INTEGER: + { + BUF_APPEND(", %svalue=%" PRId64, + PRFIELD(bt_value_signed_integer_get(value))); break; } case BT_VALUE_TYPE_REAL: @@ -1379,7 +1392,6 @@ update_fmt: *out_fmt_ch = fmt_ch; } -BT_HIDDEN void bt_lib_log(const char *func, const char *file, unsigned line, int lvl, const char *tag, const char *fmt, ...) {