- 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", ", <CUR>");
+ break;
+ default:
+ abort();
+ }