X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Ftrace-ir%2Ftrace.c;h=7a61040125a55d496e7d6878b4256b603afb6e06;hb=99b4b64b7ac398ab304fe7009d0a352b4002e459;hp=9891d12b224dc53131fc94f0f863b11e0802dd11;hpb=c6962c968f7467ce8f7e880e7de3797139314f9f;p=babeltrace.git diff --git a/src/lib/trace-ir/trace.c b/src/lib/trace-ir/trace.c index 9891d12b..7a610401 100644 --- a/src/lib/trace-ir/trace.c +++ b/src/lib/trace-ir/trace.c @@ -25,6 +25,7 @@ #include "lib/logging.h" #include "lib/assert-pre.h" +#include "lib/assert-post.h" #include #include #include @@ -108,7 +109,7 @@ void destroy_trace(struct bt_object *obj) * The destruction listener should not have kept a * reference to the trace. */ - BT_ASSERT_PRE(trace->base.ref_count == 1, "Destruction listener kept a reference to the trace being destroyed: %![trace-]+t", trace); + BT_ASSERT_POST(trace->base.ref_count == 1, "Destruction listener kept a reference to the trace being destroyed: %![trace-]+t", trace); } g_array_free(trace->destruction_listeners, TRUE); trace->destruction_listeners = NULL; @@ -196,7 +197,7 @@ struct bt_trace *bt_trace_create(struct bt_trace_class *tc) } trace->class = tc; - bt_object_get_no_null_check(trace->class); + bt_object_get_ref_no_null_check(trace->class); BT_LIB_LOGD("Created trace object: %!+t", trace); goto end; @@ -241,7 +242,6 @@ void bt_trace_set_uuid(struct bt_trace *trace, bt_uuid uuid) BT_LIB_LOGD("Set trace's UUID: %!+t", trace); } -BT_ASSERT_FUNC static bool trace_has_environment_entry(const struct bt_trace *trace, const char *name) { @@ -332,12 +332,8 @@ end: uint64_t bt_trace_get_environment_entry_count(const struct bt_trace *trace) { - int64_t ret; - BT_ASSERT_PRE_DEV_NON_NULL(trace, "Trace"); - ret = bt_attributes_get_count(trace->environment); - BT_ASSERT(ret >= 0); - return (uint64_t) ret; + return bt_attributes_get_count(trace->environment); } void bt_trace_borrow_environment_entry_by_index_const( @@ -568,9 +564,9 @@ void bt_trace_set_user_attributes( BT_ASSERT_PRE(user_attributes->type == BT_VALUE_TYPE_MAP, "User attributes object is not a map value object."); BT_ASSERT_PRE_DEV_TRACE_HOT(trace); - bt_object_put_no_null_check(trace->user_attributes); + bt_object_put_ref_no_null_check(trace->user_attributes); trace->user_attributes = (void *) user_attributes; - bt_object_get_no_null_check(trace->user_attributes); + bt_object_get_ref_no_null_check(trace->user_attributes); } void bt_trace_get_ref(const struct bt_trace *trace)