*/
#include <babeltrace2/babeltrace.h>
+#include <stdbool.h>
#include <stdio.h>
#include <string.h>
static inline
void incr_indent_by(struct details_write_ctx *ctx, unsigned int value)
{
- BT_ASSERT(ctx);
+ BT_ASSERT_DBG(ctx);
ctx->indent_level += value;
}
static inline
void decr_indent_by(struct details_write_ctx *ctx, unsigned int value)
{
- BT_ASSERT(ctx);
- BT_ASSERT(ctx->indent_level >= value);
+ BT_ASSERT_DBG(ctx);
+ BT_ASSERT_DBG(ctx->indent_level >= value);
ctx->indent_level -= value;
}
break;
default:
- abort();
+ bt_common_abort();
}
sprintf(buf_start, spec, value);
break;
default:
- abort();
+ bt_common_abort();
}
sprintf(buf_start, spec, abs_value);
static inline
void write_nl(struct details_write_ctx *ctx)
{
- BT_ASSERT(ctx);
+ BT_ASSERT_DBG(ctx);
g_string_append_c(ctx->str, '\n');
}
static inline
void write_sp(struct details_write_ctx *ctx)
{
- BT_ASSERT(ctx);
+ BT_ASSERT_DBG(ctx);
g_string_append_c(ctx->str, ' ');
}
{
uint64_t i;
- BT_ASSERT(ctx);
+ BT_ASSERT_DBG(ctx);
for (i = 0; i < ctx->indent_level; i++) {
write_sp(ctx);
void write_str_prop_line(struct details_write_ctx *ctx, const char *prop_name,
const char *prop_value)
{
- BT_ASSERT(prop_value);
+ BT_ASSERT_DBG(prop_value);
write_indent(ctx);
write_prop_name(ctx, prop_name);
g_string_append(ctx->str, ": ");
void write_uuid_prop_line(struct details_write_ctx *ctx, const char *prop_name,
bt_uuid uuid)
{
- BT_ASSERT(uuid);
+ BT_ASSERT_DBG(uuid);
write_indent(ctx);
write_prop_name(ctx, prop_name);
g_string_append_printf(ctx->str,
{
GPtrArray *keys = data;
- BT_ASSERT(keys);
+ BT_ASSERT_DBG(keys);
g_ptr_array_add(keys, (void *) key);
return BT_TRUE;
}
GPtrArray *keys = g_ptr_array_new();
char buf[64];
- BT_ASSERT(keys);
+ BT_ASSERT_DBG(keys);
/* Write field's name */
if (name) {
bt_value_map_foreach_entry_const(value,
map_value_foreach_add_key_to_array, keys);
- BT_ASSERT(foreach_status ==
+ BT_ASSERT_DBG(foreach_status ==
BT_VALUE_MAP_FOREACH_ENTRY_CONST_STATUS_OK);
g_ptr_array_sort(keys, (GCompareFunc) compare_strings);
break;
}
default:
- abort();
+ bt_common_abort();
}
g_ptr_array_free(keys, TRUE);
void write_user_attributes(struct details_write_ctx *ctx,
const bt_value *user_attrs, bool write_newline, bool *written)
{
- BT_ASSERT(user_attrs);
+ BT_ASSERT_DBG(user_attrs);
if (!bt_value_map_is_empty(user_attrs)) {
write_value(ctx, user_attrs, "User attributes");
write_uint_prop_value(ctx, 16);
break;
default:
- abort();
+ bt_common_abort();
}
if (close) {
mappings = g_ptr_array_new_with_free_func(
(GDestroyNotify) destroy_enum_field_class_mapping);
- BT_ASSERT(mappings);
+ BT_ASSERT_DBG(mappings);
/*
* Copy field class's mappings to our own arrays and structures
struct enum_field_class_mapping *mapping = g_new0(
struct enum_field_class_mapping, 1);
- BT_ASSERT(mapping);
+ BT_ASSERT_DBG(mapping);
if (is_signed) {
fc_mapping = bt_field_class_enumeration_signed_borrow_mapping_by_index_const(
fc_mapping));
mapping->ranges = range_set_to_int_ranges(fc_range_set,
is_signed);
- BT_ASSERT(mapping->ranges);
+ BT_ASSERT_DBG(mapping->ranges);
g_ptr_array_add(mappings, mapping);
}
write_str_prop_value(ctx, "Event payload");
break;
default:
- abort();
+ bt_common_abort();
}
g_string_append(ctx->str, ": ");
write_str_prop_value(ctx, "<current>");
break;
default:
- abort();
+ bt_common_abort();
}
}
write_compound_member_name(ctx,
bt_field_class_variant_option_get_name(option));
- if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR) {
- const bt_field_class_variant_with_selector_unsigned_option *spec_opt =
- bt_field_class_variant_with_selector_unsigned_borrow_option_by_index_const(
+ if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD) {
+ const bt_field_class_variant_with_selector_field_integer_unsigned_option *spec_opt =
+ bt_field_class_variant_with_selector_field_integer_unsigned_borrow_option_by_index_const(
fc, index);
orig_ranges =
- bt_field_class_variant_with_selector_unsigned_option_borrow_ranges_const(
+ bt_field_class_variant_with_selector_field_integer_unsigned_option_borrow_ranges_const(
spec_opt);
is_signed = false;
- } else if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR) {
- const bt_field_class_variant_with_selector_signed_option *spec_opt =
- bt_field_class_variant_with_selector_signed_borrow_option_by_index_const(
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR_FIELD) {
+ const bt_field_class_variant_with_selector_field_integer_signed_option *spec_opt =
+ bt_field_class_variant_with_selector_field_integer_signed_borrow_option_by_index_const(
fc, index);
orig_ranges =
- bt_field_class_variant_with_selector_signed_option_borrow_ranges_const(
+ bt_field_class_variant_with_selector_field_integer_signed_option_borrow_ranges_const(
spec_opt);
is_signed = true;
}
uint64_t i;
int_ranges = range_set_to_int_ranges(orig_ranges, is_signed);
- BT_ASSERT(int_ranges);
+ BT_ASSERT_DBG(int_ranges);
for (i = 0; i < int_ranges->len; i++) {
struct int_range *range = int_range_at(int_ranges, i);
case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
type = "Static array";
break;
- case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
- type = "Dynamic array";
+ case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD:
+ type = "Dynamic array (no length field)";
break;
- case BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR:
+ case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD:
+ type = "Dynamic array (with length field)";
+ break;
+ case BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR_FIELD:
type = "Option (no selector)";
break;
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR:
+ case BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR_FIELD:
type = "Option (boolean selector)";
break;
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR:
+ case BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD:
type = "Option (unsigned integer selector)";
break;
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR:
+ case BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR_FIELD:
type = "Option (signed integer selector)";
break;
- case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
+ case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR_FIELD:
type = "Variant (no selector)";
break;
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
- type = "Variant (unsigned selector)";
+ case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD:
+ type = "Variant (unsigned integer selector)";
break;
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
- type = "Variant (signed selector)";
+ case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR_FIELD:
+ type = "Variant (signed integer selector)";
break;
default:
- abort();
+ bt_common_abort();
}
g_string_append_printf(ctx->str, "%s%s%s",
color_fg_blue(ctx), type, color_reset(ctx));
/* Write field class's single-line properties */
- switch (fc_type) {
- case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER:
- case BT_FIELD_CLASS_TYPE_SIGNED_INTEGER:
- write_sp(ctx);
- write_int_field_class_props(ctx, fc, true);
- break;
- case BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION:
- case BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION:
- {
+ if (bt_field_class_type_is(fc_type, BT_FIELD_CLASS_TYPE_ENUMERATION)) {
uint64_t mapping_count =
bt_field_class_enumeration_get_mapping_count(fc);
write_uint_prop_value(ctx, mapping_count);
g_string_append_printf(ctx->str, " mapping%s)",
plural(mapping_count));
- break;
- }
- case BT_FIELD_CLASS_TYPE_STRUCTURE:
- {
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_INTEGER)) {
+ write_sp(ctx);
+ write_int_field_class_props(ctx, fc, true);
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_STRUCTURE) {
uint64_t member_count =
bt_field_class_structure_get_member_count(fc);
write_uint_prop_value(ctx, member_count);
g_string_append_printf(ctx->str, " member%s)",
plural(member_count));
- break;
- }
- case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
- case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
- if (fc_type == BT_FIELD_CLASS_TYPE_STATIC_ARRAY) {
- g_string_append(ctx->str, " (Length ");
- write_uint_prop_value(ctx,
- bt_field_class_array_static_get_length(fc));
- g_string_append_c(ctx->str, ')');
- } else {
- const bt_field_path *length_field_path =
- bt_field_class_array_dynamic_borrow_length_field_path_const(
- fc);
-
- if (length_field_path) {
- g_string_append(ctx->str, " (Length field path ");
- write_field_path(ctx, length_field_path);
- g_string_append_c(ctx->str, ')');
- }
- }
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_STATIC_ARRAY) {
+ g_string_append(ctx->str, " (Length ");
+ write_uint_prop_value(ctx,
+ bt_field_class_array_static_get_length(fc));
+ g_string_append_c(ctx->str, ')');
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD) {
+ const bt_field_path *length_field_path =
+ bt_field_class_array_dynamic_with_length_field_borrow_length_field_path_const(
+ fc);
- break;
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR:
- {
+ g_string_append(ctx->str, " (Length field path ");
+ write_field_path(ctx, length_field_path);
+ g_string_append_c(ctx->str, ')');
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_OPTION_WITH_SELECTOR_FIELD)) {
const bt_field_path *selector_field_path =
- bt_field_class_option_with_selector_borrow_selector_field_path_const(
+ bt_field_class_option_with_selector_field_borrow_selector_field_path_const(
fc);
g_string_append(ctx->str, " (Selector field path ");
write_field_path(ctx, selector_field_path);
g_string_append_c(ctx->str, ')');
- break;
- }
- case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
- {
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_VARIANT)) {
uint64_t option_count =
bt_field_class_variant_get_option_count(fc);
const bt_field_path *sel_field_path = NULL;
- if (fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR ||
- fc_type == BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR) {
+ if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_VARIANT_WITH_SELECTOR_FIELD)) {
sel_field_path =
- bt_field_class_variant_with_selector_borrow_selector_field_path_const(
+ bt_field_class_variant_with_selector_field_borrow_selector_field_path_const(
fc);
- BT_ASSERT(sel_field_path);
+ BT_ASSERT_DBG(sel_field_path);
}
g_string_append(ctx->str, " (");
}
g_string_append_c(ctx->str, ')');
- break;
- }
- default:
- break;
}
incr_indent(ctx);
}
/* Write field class's complex properties */
- switch (fc_type) {
- case BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION:
- case BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION:
- {
+ if (bt_field_class_type_is(fc_type, BT_FIELD_CLASS_TYPE_ENUMERATION)) {
uint64_t mapping_count =
bt_field_class_enumeration_get_mapping_count(fc);
decr_indent(ctx);
}
}
-
- break;
- }
- case BT_FIELD_CLASS_TYPE_STRUCTURE:
- {
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_STRUCTURE) {
uint64_t member_count =
bt_field_class_structure_get_member_count(fc);
const bt_field_class_structure_member *member =
bt_field_class_structure_borrow_member_by_index_const(
fc, i);
- const bt_value *user_attrs;
+ const bt_value *member_user_attrs;
const bt_field_class *member_fc =
bt_field_class_structure_member_borrow_field_class_const(member);
write_nl(ctx);
write_compound_member_name(ctx,
bt_field_class_structure_member_get_name(member));
- user_attrs = bt_field_class_structure_member_borrow_user_attributes_const(
+ member_user_attrs = bt_field_class_structure_member_borrow_user_attributes_const(
member);
- if (bt_value_map_is_empty(user_attrs)) {
+ if (bt_value_map_is_empty(member_user_attrs)) {
write_sp(ctx);
write_field_class(ctx, member_fc);
} else {
write_nl(ctx);
/* User attributes */
- write_user_attributes(ctx, user_attrs,
+ write_user_attributes(ctx, member_user_attrs,
false, NULL);
decr_indent(ctx);
decr_indent(ctx);
}
}
-
- break;
- }
- case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
- case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
+ } else if (bt_field_class_type_is(fc_type, BT_FIELD_CLASS_TYPE_ARRAY)) {
if (wrote_user_attrs) {
write_nl(ctx);
} else {
write_sp(ctx);
write_field_class(ctx,
bt_field_class_array_borrow_element_field_class_const(fc));
- break;
- case BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR:
- {
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_OPTION)) {
const void *ranges = NULL;
bool selector_is_signed = false;
g_string_append(ctx->str, ":\n");
}
- if (fc_type == BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR) {
+ if (fc_type == BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR_FIELD) {
write_bool_prop_line(ctx, "Selector is reversed",
- bt_field_class_option_with_selector_bool_selector_is_reversed(fc));
- } else if (fc_type == BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR) {
- ranges = bt_field_class_option_with_selector_integer_unsigned_borrow_selector_ranges_const(fc);
- } else if (fc_type == BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR) {
- ranges = bt_field_class_option_with_selector_integer_signed_borrow_selector_ranges_const(fc);
+ bt_field_class_option_with_selector_field_bool_selector_is_reversed(fc));
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD) {
+ ranges = bt_field_class_option_with_selector_field_integer_unsigned_borrow_selector_ranges_const(fc);
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR_FIELD) {
+ ranges = bt_field_class_option_with_selector_field_integer_signed_borrow_selector_ranges_const(fc);
selector_is_signed = true;
}
if (ranges) {
GArray *sorted_ranges = range_set_to_int_ranges(
ranges, selector_is_signed);
- uint64_t i;
- BT_ASSERT(sorted_ranges);
- BT_ASSERT(sorted_ranges->len > 0);
+ BT_ASSERT_DBG(sorted_ranges);
+ BT_ASSERT_DBG(sorted_ranges->len > 0);
write_prop_name_line(ctx, "Selector ranges");
for (i = 0; i < sorted_ranges->len; i++) {
write_sp(ctx);
write_field_class(ctx,
bt_field_class_option_borrow_field_class_const(fc));
- break;
- }
- case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
- {
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_VARIANT)) {
uint64_t option_count =
bt_field_class_variant_get_option_count(fc);
decr_indent(ctx);
}
}
-
- break;
- }
- default:
- break;
}
decr_indent(ctx);
void write_root_field_class(struct details_write_ctx *ctx, const char *name,
const bt_field_class *fc)
{
- BT_ASSERT(name);
- BT_ASSERT(fc);
+ BT_ASSERT_DBG(name);
+ BT_ASSERT_DBG(fc);
write_indent(ctx);
write_prop_name(ctx, name);
g_string_append(ctx->str, ": ");
ll_str = "Debug";
break;
default:
- abort();
+ bt_common_abort();
}
write_str_prop_line(ctx, "Log level", ll_str);
{
int ret = 0;
- BT_ASSERT(tc);
+ BT_ASSERT_DBG(tc);
if (details_need_to_write_trace_class(ctx, tc)) {
uint64_t sc_i;
if (sc && details_need_to_write_meta_object(ctx, tc, sc)) {
uint64_t ec_i;
- BT_ASSERT(tc);
+ BT_ASSERT_DBG(tc);
if (ctx->details_comp->cfg.compact &&
ctx->details_comp->printed_something) {
}
if (ec && details_need_to_write_meta_object(ctx, tc, ec)) {
- BT_ASSERT(sc);
+ BT_ASSERT_DBG(sc);
if (ctx->details_comp->cfg.compact &&
ctx->details_comp->printed_something) {
}
/* Write field's value */
- switch (fc_type) {
- case BT_FIELD_CLASS_TYPE_BOOL:
+ if (fc_type == BT_FIELD_CLASS_TYPE_BOOL) {
write_sp(ctx);
write_bool_prop_value(ctx, bt_field_bool_get_value(field));
- break;
- case BT_FIELD_CLASS_TYPE_BIT_ARRAY:
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_BIT_ARRAY) {
format_uint(buf, bt_field_bit_array_get_value_as_integer(field),
16);
write_sp(ctx);
write_uint_str_prop_value(ctx, buf);
- break;
- case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER:
- case BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION:
- case BT_FIELD_CLASS_TYPE_SIGNED_INTEGER:
- case BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION:
- {
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_INTEGER)) {
unsigned int fmt_base;
bt_field_class_integer_preferred_display_base base;
fmt_base = 16;
break;
default:
- abort();
+ bt_common_abort();
}
- if (fc_type == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER ||
- fc_type == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION) {
+ if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER)) {
format_uint(buf,
bt_field_integer_unsigned_get_value(field),
fmt_base);
write_sp(ctx);
write_int_str_prop_value(ctx, buf);
}
-
- break;
- }
- case BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL:
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL) {
write_sp(ctx);
write_float_prop_value(ctx, bt_field_real_single_precision_get_value(field));
- break;
- case BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL:
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL) {
write_sp(ctx);
write_float_prop_value(ctx, bt_field_real_double_precision_get_value(field));
- break;
- case BT_FIELD_CLASS_TYPE_STRING:
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_STRING) {
write_sp(ctx);
write_str_prop_value(ctx, bt_field_string_get_value(field));
- break;
- case BT_FIELD_CLASS_TYPE_STRUCTURE:
- {
+ } else if (fc_type == BT_FIELD_CLASS_TYPE_STRUCTURE) {
uint64_t member_count;
fc = bt_field_borrow_class_const(field);
write_sp(ctx);
write_none_prop_value(ctx, "Empty");
}
-
- break;
- }
- case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
- case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
- {
+ } else if (bt_field_class_type_is(fc_type, BT_FIELD_CLASS_TYPE_ARRAY)) {
uint64_t length = bt_field_array_get_length(field);
if (length == 0) {
}
decr_indent(ctx);
- break;
- }
- case BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR:
- case BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR:
- {
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_OPTION)) {
const bt_field *content_field =
bt_field_option_borrow_field_const(field);
} else {
write_field(ctx, content_field, NULL);
}
-
- break;
- }
- case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR:
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_SELECTOR:
- case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_SELECTOR:
+ } else if (bt_field_class_type_is(fc_type,
+ BT_FIELD_CLASS_TYPE_VARIANT)) {
write_field(ctx,
bt_field_variant_borrow_selected_option_field_const(
field), NULL);
- break;
- default:
- abort();
+ } else {
+ bt_common_abort();
}
}
void write_root_field(struct details_write_ctx *ctx, const char *name,
const bt_field *field)
{
- BT_ASSERT(name);
- BT_ASSERT(field);
+ BT_ASSERT_DBG(name);
+ BT_ASSERT_DBG(field);
write_indent(ctx);
write_prop_name(ctx, name);
g_string_append(ctx->str, ":");
static
void write_trace(struct details_write_ctx *ctx, const bt_trace *trace)
{
- const char *name;
GPtrArray *streams = g_ptr_array_new();
uint64_t i;
bool printed_prop = false;
/* Write name */
if (ctx->details_comp->cfg.with_trace_name) {
- name = bt_trace_get_name(trace);
+ const char *name = bt_trace_get_name(trace);
if (name) {
g_string_append(ctx->str, " `");
write_str_prop_value(ctx, name);
bt_trace_borrow_environment_entry_value_by_name_const(
trace, name);
- BT_ASSERT(value);
+ BT_ASSERT_DBG(value);
write_compound_member_name(ctx, name);
write_sp(ctx);
write_str_prop_value(ctx,
bt_value_string_get(value));
} else {
- abort();
+ bt_common_abort();
}
write_nl(ctx);
/* Write times */
if (beginning_cs) {
write_time(ctx, beginning_cs);
- BT_ASSERT(end_cs);
+ BT_ASSERT_DBG(end_cs);
write_time(ctx, end_cs);
}
ret = write_discarded_packets_message(&ctx, msg);
break;
default:
- abort();
+ bt_common_abort();
}
/*