X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Flib%2Finteger-range-set.c;h=2f2fea7e93db1e8a600eebffee5b0cc02055c2c2;hb=867eb7632255f6a84234542198bd7edaac1bce12;hp=a422e4e419ecbc4a918667f0590a455f43611db3;hpb=cd933d89b741dfa969ce05fbf471c6c682d6825e;p=babeltrace.git diff --git a/src/lib/integer-range-set.c b/src/lib/integer-range-set.c index a422e4e4..2f2fea7e 100644 --- a/src/lib/integer-range-set.c +++ b/src/lib/integer-range-set.c @@ -1,30 +1,17 @@ /* - * Copyright 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 2019 Philippe Proulx */ #define BT_LOG_TAG "LIB/INT-RANGE-SET" #include "lib/logging.h" +#include + #include -#include "lib/assert-pre.h" + +#include "lib/assert-cond.h" #include "common/assert.h" #include "func-status.h" #include "integer-range-set.h" @@ -34,7 +21,7 @@ uint64_t bt_integer_range_unsigned_get_lower( { const struct bt_integer_range *range = (const void *) u_range; - BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range"); + BT_ASSERT_PRE_DEV_INT_RANGE_NON_NULL(range); return range->lower.u; } @@ -43,7 +30,7 @@ uint64_t bt_integer_range_unsigned_get_upper( { const struct bt_integer_range *range = (const void *) u_range; - BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range"); + BT_ASSERT_PRE_DEV_INT_RANGE_NON_NULL(range); return range->upper.u; } @@ -52,7 +39,7 @@ int64_t bt_integer_range_signed_get_lower( { const struct bt_integer_range *range = (const void *) i_range; - BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range"); + BT_ASSERT_PRE_DEV_INT_RANGE_NON_NULL(range); return range->lower.i; } @@ -61,7 +48,7 @@ int64_t bt_integer_range_signed_get_upper( { const struct bt_integer_range *range = (const void *) i_range; - BT_ASSERT_PRE_DEV_NON_NULL(range, "Integer range"); + BT_ASSERT_PRE_DEV_INT_RANGE_NON_NULL(range); return range->upper.i; } @@ -77,8 +64,10 @@ bt_bool bt_integer_range_unsigned_is_equal( const struct bt_integer_range_unsigned *range_a, const struct bt_integer_range_unsigned *range_b) { - BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Integer range A"); - BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Integer range B"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-a", range_a, + "Integer range A"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-b", range_b, + "Integer range B"); return (bt_bool) compare_ranges((const void *) range_a, (const void *) range_b); } @@ -87,8 +76,10 @@ bt_bool bt_integer_range_signed_is_equal( const struct bt_integer_range_signed *range_a, const struct bt_integer_range_signed *range_b) { - BT_ASSERT_PRE_DEV_NON_NULL(range_a, "Integer range A"); - BT_ASSERT_PRE_DEV_NON_NULL(range_b, "Integer range B"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-a", range_a, + "Integer range A"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-b", range_b, + "Integer range B"); return (bt_bool) compare_ranges((const void *) range_a, (const void *) range_b); } @@ -96,7 +87,7 @@ bt_bool bt_integer_range_signed_is_equal( uint64_t bt_integer_range_set_get_range_count( const bt_integer_range_set *range_set) { - BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set"); + BT_ASSERT_PRE_DEV_INT_RANGE_SET_NON_NULL(range_set); return (uint64_t) range_set->ranges->len; } @@ -108,7 +99,7 @@ bt_integer_range_set_unsigned_borrow_range_by_index_const( const struct bt_integer_range_set *range_set = (const void *) u_range_set; - BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set"); + BT_ASSERT_PRE_DEV_INT_RANGE_SET_NON_NULL(range_set); BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len); return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, index); @@ -121,7 +112,7 @@ bt_integer_range_set_signed_borrow_range_by_index_const( const struct bt_integer_range_set *range_set = (const void *) i_range_set; - BT_ASSERT_PRE_DEV_NON_NULL(range_set, "Integer range set"); + BT_ASSERT_PRE_DEV_INT_RANGE_SET_NON_NULL(range_set); BT_ASSERT_PRE_DEV_VALID_INDEX(index, range_set->ranges->len); return (const void *) BT_INTEGER_RANGE_SET_RANGE_AT_INDEX(range_set, index); @@ -177,14 +168,19 @@ end: struct bt_integer_range_set_unsigned *bt_integer_range_set_unsigned_create(void) { + BT_ASSERT_PRE_NO_ERROR(); + return (void *) create_range_set(); } struct bt_integer_range_set_signed *bt_integer_range_set_signed_create(void) { + BT_ASSERT_PRE_NO_ERROR(); + return (void *) create_range_set(); } +static void add_range_to_range_set(struct bt_integer_range_set *range_set, uint64_t u_lower, uint64_t u_upper) { @@ -193,9 +189,9 @@ void add_range_to_range_set(struct bt_integer_range_set *range_set, .upper.u = u_upper, }; - BT_ASSERT_PRE_NON_NULL(range_set, "Integer range set"); - BT_ASSERT_PRE_DEV_HOT(range_set, "Integer range set", ": %!+R", - range_set); + BT_ASSERT_PRE_INT_RANGE_SET_NON_NULL(range_set); + BT_ASSERT_PRE_DEV_HOT("integer-range-set", range_set, + "Integer range set", ": %!+R", range_set); g_array_append_val(range_set->ranges, range); BT_LIB_LOGD("Added integer range to integer range set: " "%![range-set-]+R, lower-unsigned=%" PRIu64 ", " @@ -207,7 +203,8 @@ bt_integer_range_set_unsigned_add_range( struct bt_integer_range_set_unsigned *range_set, uint64_t lower, uint64_t upper) { - BT_ASSERT_PRE(lower <= upper, + BT_ASSERT_PRE_NO_ERROR(); + BT_ASSERT_PRE("lower-lteq-upper", lower <= upper, "Range's upper bound is less than lower bound: " "upper=%" PRIu64 ", lower=%" PRIu64, lower, upper); add_range_to_range_set((void *) range_set, lower, upper); @@ -219,7 +216,8 @@ bt_integer_range_set_signed_add_range( struct bt_integer_range_set_signed *range_set, int64_t lower, int64_t upper) { - BT_ASSERT_PRE(lower <= upper, + BT_ASSERT_PRE_NO_ERROR(); + BT_ASSERT_PRE("lower-lteq-upper", lower <= upper, "Range's upper bound is less than lower bound: " "upper=%" PRId64 ", lower=%" PRId64, lower, upper); add_range_to_range_set((void *) range_set, @@ -310,8 +308,8 @@ bool compare_range_sets(const struct bt_integer_range_set *range_set_a, uint64_t a_i, b_i; bool is_equal = true; - BT_ASSERT(range_set_a); - BT_ASSERT(range_set_b); + BT_ASSERT_DBG(range_set_a); + BT_ASSERT_DBG(range_set_b); if (range_set_a == range_set_b) { goto end; @@ -357,8 +355,10 @@ bt_bool bt_integer_range_set_unsigned_is_equal( const struct bt_integer_range_set_unsigned *range_set_a, const struct bt_integer_range_set_unsigned *range_set_b) { - BT_ASSERT_PRE_DEV_NON_NULL(range_set_a, "Range set A"); - BT_ASSERT_PRE_DEV_NON_NULL(range_set_b, "Range set B"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-set-a", range_set_a, + "Range set A"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-set-b", range_set_b, + "Range set B"); return (bt_bool) compare_range_sets((const void *) range_set_a, (const void *) range_set_b); } @@ -367,8 +367,10 @@ bt_bool bt_integer_range_set_signed_is_equal( const struct bt_integer_range_set_signed *range_set_a, const struct bt_integer_range_set_signed *range_set_b) { - BT_ASSERT_PRE_DEV_NON_NULL(range_set_a, "Range set A"); - BT_ASSERT_PRE_DEV_NON_NULL(range_set_b, "Range set B"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-set-a", range_set_a, + "Range set A"); + BT_ASSERT_PRE_DEV_NON_NULL("integer-range-set-b", range_set_b, + "Range set B"); return (bt_bool) compare_range_sets((const void *) range_set_a, (const void *) range_set_b); }