diff options
author | Richard Braun <rbraun@sceen.net> | 2018-07-30 20:55:20 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2018-07-30 20:55:20 +0200 |
commit | 5f202c9f744a5d9c5b751038edd2379b3d244227 (patch) | |
tree | c5bce5b9e1d9c4b01dfed4ff941ad9944814b93c /kern/rdxtree.c | |
parent | d3e43f5bfda0bdad7a829a7ed8c1272a395b196b (diff) |
Rework assertive functions
Instead of combining assertions and checking into single functions,
rework those into pure checking functions usable with assert().
Those functions were introduced because of warnings about unused
functions/variables caused by an earlier implementation of assert().
Diffstat (limited to 'kern/rdxtree.c')
-rw-r--r-- | kern/rdxtree.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/kern/rdxtree.c b/kern/rdxtree.c index e7abaf02..9072ea12 100644 --- a/kern/rdxtree.c +++ b/kern/rdxtree.c @@ -109,12 +109,13 @@ struct rdxtree_node { static struct kmem_cache rdxtree_node_cache; -static inline void -rdxtree_assert_alignment(const void *ptr) +#ifndef NDEBUG +static bool +rdxtree_alignment_valid(const void *ptr) { - assert(((uintptr_t)ptr & ~RDXTREE_ENTRY_ADDR_MASK) == 0); - (void)ptr; + return (((uintptr_t)ptr & ~RDXTREE_ENTRY_ADDR_MASK) == 0); } +#endif /* NDEBUG */ static inline void * rdxtree_entry_addr(void *entry) @@ -156,7 +157,7 @@ rdxtree_node_create(struct rdxtree_node **nodep, unsigned short height) return ENOMEM; } - rdxtree_assert_alignment(node); + assert(rdxtree_alignment_valid(node)); node->parent = NULL; node->height = height; *nodep = node; @@ -464,7 +465,7 @@ rdxtree_insert_common(struct rdxtree *tree, rdxtree_key_t key, int error; assert(ptr != NULL); - rdxtree_assert_alignment(ptr); + assert(rdxtree_alignment_valid(ptr)); if (unlikely(key > rdxtree_max_key(tree->height))) { error = rdxtree_grow(tree, key); @@ -552,7 +553,7 @@ rdxtree_insert_alloc_common(struct rdxtree *tree, void *ptr, assert(rdxtree_key_alloc_enabled(tree)); assert(ptr != NULL); - rdxtree_assert_alignment(ptr); + assert(rdxtree_alignment_valid(ptr)); height = tree->height; @@ -743,11 +744,11 @@ rdxtree_replace_slot(void **slot, void *ptr) void *old; assert(ptr != NULL); - rdxtree_assert_alignment(ptr); + assert(rdxtree_alignment_valid(ptr)); old = *slot; assert(old != NULL); - rdxtree_assert_alignment(old); + assert(rdxtree_alignment_valid(old)); rcu_store_ptr(*slot, ptr); return old; } |