X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Flib-logging.c;h=7e897fa38e457c3ae7ba1321662d6b6028dd965c;hb=5106ff1e5d7e95c95ab7cb9ee35fe9c936f527d5;hp=111876489d78e81304bc435b6112c6d71032f9f5;hpb=2f53eba5649ad8b286feec07b6314035f666a346;p=deliverable%2Fbabeltrace.git diff --git a/lib/lib-logging.c b/lib/lib-logging.c index 111876489..7e897fa38 100644 --- a/lib/lib-logging.c +++ b/lib/lib-logging.c @@ -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", "]"); @@ -1377,7 +1387,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, ...) {