X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Flib%2Ferror.c;h=58a3749816b8f34efffb2ca3934a208171063350;hb=d5b13b9b6a434797f856547be1ca6a59f70ba530;hp=bb2c3ad607960cfb97b15ea0e0c626e02c1a9474;hpb=c77d03eb3c74a2d189813f719badaac195544103;p=babeltrace.git diff --git a/src/lib/error.c b/src/lib/error.c index bb2c3ad6..58a37498 100644 --- a/src/lib/error.c +++ b/src/lib/error.c @@ -1,23 +1,7 @@ /* - * Copyright (c) 2019 Philippe Proulx - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. + * SPDX-License-Identifier: MIT * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Copyright (c) 2019 Philippe Proulx */ #define BT_LOG_TAG "LIB/ERROR" @@ -25,15 +9,14 @@ #include #include -#include -#include +#include #include "error.h" #include "graph/message/iterator.h" #include "graph/component.h" #include "graph/component-class.h" #include "common/assert.h" -#include "lib/assert-pre.h" +#include "lib/assert-cond.h" #include "lib/func-status.h" #define BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(_cause, _exp_type) \ @@ -262,7 +245,7 @@ void append_component_class_id_str(GString *str, type_str = "sink"; break; default: - abort(); + bt_common_abort(); } if (comp_class_id->plugin_name->len > 0) { @@ -364,12 +347,13 @@ end: return cause; } +static struct bt_error_cause_message_iterator_actor * create_error_cause_message_iterator_actor(struct bt_message_iterator *iter, const char *file_name, uint64_t line_no) { struct bt_error_cause_message_iterator_actor *cause; - struct bt_self_component_port_input_message_iterator *input_port_iter; + struct bt_message_iterator *input_port_iter; int ret; BT_LOGD_STR("Creating error cause object (message iterator actor)."); @@ -379,8 +363,6 @@ create_error_cause_message_iterator_actor(struct bt_message_iterator *iter, * message iterator, which is a self component port input * message iterator. */ - BT_ASSERT(iter->type == - BT_MESSAGE_ITERATOR_TYPE_SELF_COMPONENT_PORT_INPUT); input_port_iter = (void *) iter; cause = g_new0(struct bt_error_cause_message_iterator_actor, 1); if (!cause) { @@ -619,20 +601,20 @@ uint64_t error_cause_count(const bt_error *error) uint64_t bt_error_get_cause_count(const bt_error *error) { - BT_ASSERT_PRE_NON_NULL(error, "Error"); + BT_ASSERT_PRE_ERROR_NON_NULL(error); return error_cause_count(error); } void bt_error_release(const struct bt_error *error) { - BT_ASSERT_PRE_NON_NULL(error, "Error"); + BT_ASSERT_PRE_ERROR_NON_NULL(error); bt_error_destroy((void *) error); } const struct bt_error_cause *bt_error_borrow_cause_by_index( const bt_error *error, uint64_t index) { - BT_ASSERT_PRE_NON_NULL(error, "Error"); + BT_ASSERT_PRE_ERROR_NON_NULL(error); BT_ASSERT_PRE_VALID_INDEX(index, error_cause_count(error)); return error->causes->pdata[index]; } @@ -640,31 +622,31 @@ const struct bt_error_cause *bt_error_borrow_cause_by_index( enum bt_error_cause_actor_type bt_error_cause_get_actor_type( const struct bt_error_cause *cause) { - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); return cause->actor_type; } const char *bt_error_cause_get_message(const struct bt_error_cause *cause) { - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); return cause->message->str; } const char *bt_error_cause_get_module_name(const struct bt_error_cause *cause) { - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); return cause->module_name->str; } const char *bt_error_cause_get_file_name(const struct bt_error_cause *cause) { - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); return cause->file_name->str; } uint64_t bt_error_cause_get_line_number(const bt_error_cause *cause) { - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); return cause->line_no; } @@ -674,7 +656,7 @@ const char *bt_error_cause_component_actor_get_component_name( const struct bt_error_cause_component_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT); return spec_cause->comp_name->str; @@ -686,7 +668,7 @@ bt_component_class_type bt_error_cause_component_actor_get_component_class_type( const struct bt_error_cause_component_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT); return spec_cause->comp_class_id.type; @@ -698,7 +680,7 @@ const char *bt_error_cause_component_actor_get_component_class_name( const struct bt_error_cause_component_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT); return spec_cause->comp_class_id.name->str; @@ -710,7 +692,7 @@ const char *bt_error_cause_component_actor_get_plugin_name( const struct bt_error_cause_component_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT); return spec_cause->comp_class_id.plugin_name->len > 0 ? @@ -724,7 +706,7 @@ bt_error_cause_component_class_actor_get_component_class_type( const struct bt_error_cause_component_class_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT_CLASS); return spec_cause->comp_class_id.type; @@ -736,7 +718,7 @@ const char *bt_error_cause_component_class_actor_get_component_class_name( const struct bt_error_cause_component_class_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT_CLASS); return spec_cause->comp_class_id.name->str; @@ -748,7 +730,7 @@ const char *bt_error_cause_component_class_actor_get_plugin_name( const struct bt_error_cause_component_class_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_COMPONENT_CLASS); return spec_cause->comp_class_id.plugin_name->len > 0 ? @@ -761,7 +743,7 @@ const char *bt_error_cause_message_iterator_actor_get_component_name( const struct bt_error_cause_message_iterator_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_MESSAGE_ITERATOR); return spec_cause->comp_name->str; @@ -774,7 +756,7 @@ bt_error_cause_message_iterator_actor_get_component_output_port_name( const struct bt_error_cause_message_iterator_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_MESSAGE_ITERATOR); return spec_cause->output_port_name->str; @@ -787,7 +769,7 @@ bt_error_cause_message_iterator_actor_get_component_class_type( const struct bt_error_cause_message_iterator_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_MESSAGE_ITERATOR); return spec_cause->comp_class_id.type; @@ -799,7 +781,7 @@ const char *bt_error_cause_message_iterator_actor_get_component_class_name( const struct bt_error_cause_message_iterator_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_MESSAGE_ITERATOR); return spec_cause->comp_class_id.name->str; @@ -811,7 +793,7 @@ const char *bt_error_cause_message_iterator_actor_get_plugin_name( const struct bt_error_cause_message_iterator_actor *spec_cause = (const void *) cause; - BT_ASSERT_PRE_NON_NULL(cause, "Error cause"); + BT_ASSERT_PRE_ERROR_CAUSE_NON_NULL(cause); BT_ASSERT_PRE_CAUSE_HAS_ACTOR_TYPE(cause, BT_ERROR_CAUSE_ACTOR_TYPE_MESSAGE_ITERATOR); return spec_cause->comp_class_id.plugin_name->len > 0 ?