lib: graph API: return borrowed references when adding to an object
[babeltrace.git] / src / lib / graph / component-filter.c
index 5efff1ab75bb9ae3ca1babb38f1eaea99e464876..e805f8dadf95c29290057cd00f34fabb7d1a525c 100644 (file)
@@ -48,9 +48,12 @@ struct bt_component *bt_component_filter_create(
 {
        struct bt_component_filter *filter = NULL;
 
+       BT_ASSERT_PRE_NO_ERROR();
+
        filter = g_new0(struct bt_component_filter, 1);
        if (!filter) {
-               BT_LOGE_STR("Failed to allocate one filter component.");
+               BT_LIB_LOGE_APPEND_CAUSE(
+                       "Failed to allocate one filter component.");
                goto end;
        }
 
@@ -64,12 +67,12 @@ bt_component_filter_borrow_class_const(
 {
        struct bt_component_class *cls;
 
-       BT_ASSERT_PRE_NON_NULL(component, "Component");
+       BT_ASSERT_PRE_DEV_NON_NULL(component, "Component");
 
        cls = component->parent.class;
 
-       BT_ASSERT(cls);
-       BT_ASSERT(cls->type == BT_COMPONENT_CLASS_TYPE_FILTER);
+       BT_ASSERT_DBG(cls);
+       BT_ASSERT_DBG(cls->type == BT_COMPONENT_CLASS_TYPE_FILTER);
 
        return (bt_component_class_filter *) cls;
 }
@@ -121,6 +124,8 @@ enum bt_self_component_add_port_status bt_self_component_filter_add_output_port(
        enum bt_self_component_add_port_status status;
        struct bt_port *port = NULL;
 
+       BT_ASSERT_PRE_NO_ERROR();
+
        /* bt_component_add_output_port() logs details and errors */
        status = bt_component_add_output_port(comp, name, user_data, &port);
        if (status != BT_FUNC_STATUS_OK) {
@@ -130,7 +135,6 @@ enum bt_self_component_add_port_status bt_self_component_filter_add_output_port(
        if (self_port) {
                /* Move reference to user */
                *self_port = (void *) port;
-               port = NULL;
        }
 
 end:
@@ -189,6 +193,8 @@ enum bt_self_component_add_port_status bt_self_component_filter_add_input_port(
        struct bt_port *port = NULL;
        struct bt_component *comp = (void *) self_comp;
 
+       BT_ASSERT_PRE_NO_ERROR();
+
        /* bt_component_add_input_port() logs details/errors */
        status = bt_component_add_input_port(comp, name, user_data, &port);
        if (status != BT_FUNC_STATUS_OK) {
@@ -198,7 +204,6 @@ enum bt_self_component_add_port_status bt_self_component_filter_add_input_port(
        if (self_port) {
                /* Move reference to user */
                *self_port = (void *) port;
-               port = NULL;
        }
 
 end:
This page took 0.023618 seconds and 4 git commands to generate.