X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Flib%2Ftrace-ir%2Ffield.c;h=b1d8486761c10fa690a9724ea97e6e07cd74f128;hb=d5b13b9b6a434797f856547be1ca6a59f70ba530;hp=6e513d4158d7756b413fc7f1582e2e1608816c88;hpb=0a83319b57c7f5d1f37a8c1af9a39daf6d503122;p=babeltrace.git diff --git a/src/lib/trace-ir/field.c b/src/lib/trace-ir/field.c index 6e513d41..b1d84867 100644 --- a/src/lib/trace-ir/field.c +++ b/src/lib/trace-ir/field.c @@ -22,9 +22,9 @@ #include "field-class.h" #include "lib/func-status.h" -#define BT_ASSERT_PRE_DEV_FIELD_HOT(_field, _name) \ - BT_ASSERT_PRE_DEV_HOT((const struct bt_field *) (_field), (_name), \ - ": %!+f", (_field)) +#define BT_ASSERT_PRE_DEV_FIELD_HOT(_field) \ + BT_ASSERT_PRE_DEV_HOT((const struct bt_field *) (_field), \ + "Field", ": %!+f", (_field)) static void reset_single_field(struct bt_field *field); @@ -193,20 +193,20 @@ void destroy_variant_field(struct bt_field *field); struct bt_field_class *bt_field_borrow_class(struct bt_field *field) { - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); return field->class; } const struct bt_field_class *bt_field_borrow_class_const( const struct bt_field *field) { - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); return field->class; } enum bt_field_class_type bt_field_get_class_type(const struct bt_field *field) { - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); return field->class->type; } @@ -624,8 +624,8 @@ bt_bool bt_field_bool_get_value(const struct bt_field *field) { const struct bt_field_bool *bool_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_BOOL, "Field"); return (bt_bool) bool_field->value; @@ -635,10 +635,10 @@ void bt_field_bool_set_value(struct bt_field *field, bt_bool value) { struct bt_field_bool *bool_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_BOOL, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); bool_field->value = (bool) value; bt_field_set_single(field, true); } @@ -647,8 +647,8 @@ uint64_t bt_field_bit_array_get_value_as_integer(const struct bt_field *field) { const struct bt_field_bit_array *ba_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_BIT_ARRAY, "Field"); return ba_field->value_as_int; @@ -660,10 +660,10 @@ void bt_field_bit_array_set_value_as_integer(struct bt_field *field, struct bt_field_bit_array *ba_field = (void *) field; struct bt_field_class_bit_array *ba_fc; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_BIT_ARRAY, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); ba_fc = (void *) field->class; ba_field->value_as_int = value; @@ -679,8 +679,8 @@ int64_t bt_field_integer_signed_get_value(const struct bt_field *field) { const struct bt_field_integer *int_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_IS_SIGNED_INT(field, "Field"); return int_field->value.i; } @@ -689,9 +689,9 @@ void bt_field_integer_signed_set_value(struct bt_field *field, int64_t value) { struct bt_field_integer *int_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_SIGNED_INT(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); BT_ASSERT_PRE_DEV(bt_util_value_is_in_range_signed( ((struct bt_field_class_integer *) field->class)->range, value), "Value is out of bounds: value=%" PRId64 ", %![field-]+f, " @@ -704,8 +704,8 @@ uint64_t bt_field_integer_unsigned_get_value(const struct bt_field *field) { const struct bt_field_integer *int_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_IS_UNSIGNED_INT(field, "Field"); return int_field->value.u; } @@ -714,9 +714,9 @@ void bt_field_integer_unsigned_set_value(struct bt_field *field, uint64_t value) { struct bt_field_integer *int_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_UNSIGNED_INT(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); BT_ASSERT_PRE_DEV(bt_util_value_is_in_range_unsigned( ((struct bt_field_class_integer *) field->class)->range, value), "Value is out of bounds: value=%" PRIu64 ", %![field-]+f, " @@ -729,8 +729,8 @@ float bt_field_real_single_precision_get_value(const struct bt_field *field) { const struct bt_field_real *real_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL, "Field"); return (float) real_field->value; @@ -740,8 +740,8 @@ double bt_field_real_double_precision_get_value(const struct bt_field *field) { const struct bt_field_real *real_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL, "Field"); @@ -753,10 +753,10 @@ void bt_field_real_single_precision_set_value(struct bt_field *field, { struct bt_field_real *real_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); real_field->value = (double) value; bt_field_set_single(field, true); @@ -767,10 +767,10 @@ void bt_field_real_double_precision_set_value(struct bt_field *field, { struct bt_field_real *real_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); real_field->value = value; bt_field_set_single(field, true); @@ -785,10 +785,10 @@ bt_field_enumeration_unsigned_get_mapping_labels( const struct bt_field_integer *int_field = (const void *) field; BT_ASSERT_PRE_DEV_NO_ERROR(); - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_NON_NULL(label_array, "Label array (output)"); BT_ASSERT_PRE_DEV_NON_NULL(label_array, "Count (output)"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION, "Field"); return (int) @@ -805,10 +805,10 @@ bt_field_enumeration_signed_get_mapping_labels( const struct bt_field_integer *int_field = (const void *) field; BT_ASSERT_PRE_DEV_NO_ERROR(); - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_NON_NULL(label_array, "Label array (output)"); BT_ASSERT_PRE_DEV_NON_NULL(label_array, "Count (output)"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION, "Field"); return (int) @@ -820,8 +820,8 @@ const char *bt_field_string_get_value(const struct bt_field *field) { const struct bt_field_string *string_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRING, "Field"); return (const char *) string_field->buf->data; @@ -831,8 +831,8 @@ uint64_t bt_field_string_get_length(const struct bt_field *field) { const struct bt_field_string *string_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_IS_SET(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_IS_SET(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRING, "Field"); return string_field->length; @@ -852,9 +852,9 @@ enum bt_field_string_set_value_status bt_field_string_set_value( struct bt_field *field, const char *value) { BT_ASSERT_PRE_DEV_NO_ERROR(); - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_NON_NULL(value, "Value"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRING, "Field"); clear_string_field(field); @@ -879,9 +879,9 @@ enum bt_field_string_append_status bt_field_string_append_with_length( uint64_t new_length; BT_ASSERT_PRE_DEV_NO_ERROR(); - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_NON_NULL(value, "Value"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRING, "Field"); @@ -906,8 +906,8 @@ enum bt_field_string_append_status bt_field_string_append_with_length( void bt_field_string_clear(struct bt_field *field) { - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRING, "Field"); clear_string_field(field); @@ -917,7 +917,7 @@ uint64_t bt_field_array_get_length(const struct bt_field *field) { const struct bt_field_array *array_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_ARRAY(field, "Field"); return array_field->length; } @@ -929,9 +929,9 @@ enum bt_field_array_dynamic_set_length_status bt_field_array_dynamic_set_length( struct bt_field_array *array_field = (void *) field; BT_ASSERT_PRE_DEV_NO_ERROR(); - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_DYNAMIC_ARRAY(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); if (G_UNLIKELY(length > array_field->fields->len)) { /* Make more room */ @@ -973,7 +973,7 @@ struct bt_field *borrow_array_field_element_field_by_index( { struct bt_field_array *array_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_ARRAY(field, "Field"); BT_ASSERT_PRE_DEV_VALID_INDEX(index, array_field->length); return array_field->fields->pdata[index]; @@ -998,7 +998,7 @@ struct bt_field *borrow_structure_field_member_field_by_index( { struct bt_field_structure *struct_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRUCTURE, "Field"); BT_ASSERT_PRE_DEV_VALID_INDEX(index, struct_field->fields->len); @@ -1030,7 +1030,7 @@ struct bt_field *borrow_structure_field_member_field_by_name( gpointer orig_key; gpointer index; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_NON_NULL(name, "Field name"); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_STRUCTURE, "Field"); @@ -1065,9 +1065,9 @@ void bt_field_option_set_has_field(struct bt_field *field, bt_bool has_field) { struct bt_field_option *opt_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_OPTION(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); if (has_field) { opt_field->selected_field = opt_field->content_field; @@ -1080,7 +1080,7 @@ struct bt_field *bt_field_option_borrow_field(struct bt_field *field) { struct bt_field_option *opt_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_OPTION(field, "Field"); return opt_field->selected_field; } @@ -1097,7 +1097,7 @@ struct bt_field *borrow_variant_field_selected_option_field( { struct bt_field_variant *var_field = (void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_VARIANT(field, "Field"); BT_ASSERT_PRE_DEV(var_field->selected_field, "Variant field has no selected field: %!+f", field); @@ -1134,7 +1134,7 @@ const struct bt_field_class_variant_option * bt_field_variant_borrow_selected_option_class_const( const struct bt_field *field) { - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_VARIANT(field, "Field"); return borrow_variant_field_selected_class_option(field); } @@ -1143,7 +1143,7 @@ const struct bt_field_class_variant_with_selector_field_integer_unsigned_option bt_field_variant_with_selector_field_integer_unsigned_borrow_selected_option_class_const( const struct bt_field *field) { - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD, "Field"); return (const void *) borrow_variant_field_selected_class_option(field); @@ -1153,7 +1153,7 @@ const struct bt_field_class_variant_with_selector_field_integer_signed_option * bt_field_variant_with_selector_field_integer_signed_borrow_selected_option_class_const( const struct bt_field *field) { - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_HAS_CLASS_TYPE(field, BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR_FIELD, "Field"); return (const void *) borrow_variant_field_selected_class_option(field); @@ -1166,9 +1166,9 @@ bt_field_variant_select_option_by_index( struct bt_field_variant *var_field = (void *) field; BT_ASSERT_PRE_DEV_NO_ERROR(); - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_VARIANT(field, "Field"); - BT_ASSERT_PRE_DEV_FIELD_HOT(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_HOT(field); BT_ASSERT_PRE_DEV_VALID_INDEX(index, var_field->fields->len); var_field->selected_field = var_field->fields->pdata[index]; var_field->selected_index = index; @@ -1180,7 +1180,7 @@ uint64_t bt_field_variant_get_selected_option_index( { const struct bt_field_variant *var_field = (const void *) field; - BT_ASSERT_PRE_DEV_NON_NULL(field, "Field"); + BT_ASSERT_PRE_DEV_FIELD_NON_NULL(field); BT_ASSERT_PRE_DEV_FIELD_IS_VARIANT(field, "Field"); BT_ASSERT_PRE_DEV(var_field->selected_field, "Variant field has no selected field: %!+f", field);