From 5502ecd7716045e76f13f007a4aa5f5653c80ecd Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 14 May 2024 04:20:30 -0400 Subject: util: shift the mask in BITSET_TEST_RANGE_INSIDE_WORD to be relative to b so that users don't have to shift it at every use. It was supposed to be like this from the beginning. Fixes: fb994f44d91a4b947 - util: make BITSET_TEST_RANGE_INSIDE_WORD take a value to compare with Reviewed-by: Samuel Pitoiset Part-of: --- src/util/bitset.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/util/bitset.h') diff --git a/src/util/bitset.h b/src/util/bitset.h index cffbb73ecce..d5abb6c1f7c 100644 --- a/src/util/bitset.h +++ b/src/util/bitset.h @@ -209,7 +209,8 @@ __bitset_shl(BITSET_WORD *x, unsigned amount, unsigned n) */ #define BITSET_TEST_RANGE_INSIDE_WORD(x, b, e, mask) \ (BITSET_BITWORD(b) == BITSET_BITWORD(e) ? \ - (((x)[BITSET_BITWORD(b)] & BITSET_RANGE(b, e)) == mask) : \ + (((x)[BITSET_BITWORD(b)] & BITSET_RANGE(b, e)) == \ + (((BITSET_WORD)mask) << (b % BITSET_WORDBITS))) : \ (assert (!"BITSET_TEST_RANGE: bit range crosses word boundary"), 0)) #define BITSET_SET_RANGE_INSIDE_WORD(x, b, e) \ (BITSET_BITWORD(b) == BITSET_BITWORD(e) ? \ -- cgit v1.2.3