diff --git a/ebtree/ebmbtree.h b/ebtree/ebmbtree.h index 1df3fcf4a..336b6c172 100644 --- a/ebtree/ebmbtree.h +++ b/ebtree/ebmbtree.h @@ -527,7 +527,7 @@ static forceinline struct ebmb_node *__ebmb_lookup_prefix(struct eb_root *root, * bits, let's compare prefixes and descend the cover * subtree if they match. */ - if (node->node.bit >> 1 == pfx) + if ((unsigned short)node->node.bit >> 1 == pfx) troot = node->node.branches.b[EB_LEFT]; else troot = node->node.branches.b[EB_RGHT]; diff --git a/ebtree/ebtree.h b/ebtree/ebtree.h index e0f9a1812..96138f1d3 100644 --- a/ebtree/ebtree.h +++ b/ebtree/ebtree.h @@ -376,7 +376,7 @@ struct eb_node { eb_troot_t *node_p; /* link node's parent */ eb_troot_t *leaf_p; /* leaf node's parent */ short int bit; /* link's bit position. */ - short int pfx; /* data prefix length, always related to leaf */ + short unsigned int pfx; /* data prefix length, always related to leaf */ }; /* Return the structure of type whose member points to */