X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Ftrace-ir%2Fevent-class.c;h=839e9a995aa94eb9963d792cd9fdb6cc7d0841ca;hb=398454ed067b95215c7affbe265fd36edab931ee;hp=8c94fbf0115b4ccdfd21ea356070d366d71588c0;hpb=d94d92ac6656fd252a5d7bb4f6c76935ba18e62e;p=babeltrace.git diff --git a/lib/trace-ir/event-class.c b/lib/trace-ir/event-class.c index 8c94fbf0..839e9a99 100644 --- a/lib/trace-ir/event-class.c +++ b/lib/trace-ir/event-class.c @@ -63,16 +63,18 @@ void destroy_event_class(struct bt_object *obj) if (event_class->name.str) { g_string_free(event_class->name.str, TRUE); + event_class->name.str = NULL; } if (event_class->emf_uri.str) { g_string_free(event_class->emf_uri.str, TRUE); + event_class->emf_uri.str = NULL; } BT_LOGD_STR("Putting context field classe."); - bt_object_put_ref(event_class->specific_context_fc); + BT_OBJECT_PUT_REF_AND_RESET(event_class->specific_context_fc); BT_LOGD_STR("Putting payload field classe."); - bt_object_put_ref(event_class->payload_fc); + BT_OBJECT_PUT_REF_AND_RESET(event_class->payload_fc); bt_object_pool_finalize(&event_class->event_pool); g_free(obj); } @@ -227,7 +229,7 @@ enum bt_property_availability bt_event_class_get_log_level( return event_class->log_level.base.avail; } -int bt_private_event_class_set_log_level( +void bt_private_event_class_set_log_level( struct bt_private_event_class *priv_event_class, enum bt_event_class_log_level log_level) { @@ -238,7 +240,6 @@ int bt_private_event_class_set_log_level( bt_property_uint_set(&event_class->log_level, (uint64_t) log_level); BT_LIB_LOGV("Set event class's log level: %!+E", event_class); - return 0; } const char *bt_event_class_get_emf_uri(struct bt_event_class *event_class) @@ -333,7 +334,8 @@ int bt_private_event_class_set_specific_context_field_class( bt_field_class_make_part_of_trace(field_class); bt_object_put_ref(event_class->specific_context_fc); - event_class->specific_context_fc = bt_object_get_ref(field_class); + event_class->specific_context_fc = field_class; + bt_object_get_no_null_check(event_class->specific_context_fc); bt_field_class_freeze(field_class); BT_LIB_LOGV("Set event class's specific context field classe: %!+E", event_class); @@ -398,7 +400,8 @@ int bt_private_event_class_set_payload_field_class( bt_field_class_make_part_of_trace(field_class); bt_object_put_ref(event_class->payload_fc); - event_class->payload_fc = bt_object_get_ref(field_class); + event_class->payload_fc = field_class; + bt_object_get_no_null_check(event_class->payload_fc); bt_field_class_freeze(field_class); BT_LIB_LOGV("Set event class's payload field classe: %!+E", event_class);