From dc0ebdfbdf3b1a381754c6ef4a59b0354eba7705 Mon Sep 17 00:00:00 2001 From: "Andreas.Eversberg" Date: Sun, 24 Oct 2010 11:59:33 +0200 Subject: [PATCH] bitvec: Fix decoding of H / L values it returns if a given bit in the vector is "high" or "low". the bitval that represents "high" depends on the bit position. bitval2mask returns that. so we must check if the bit in the vector equals the returned bitval. --- src/bitvec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bitvec.c b/src/bitvec.c index 04c465a8e..95d78a5c8 100644 --- a/src/bitvec.c +++ b/src/bitvec.c @@ -90,7 +90,7 @@ enum bit_value bitvec_get_bit_pos_high(const struct bitvec *bv, bitval = bitval2mask(H, bitnum); - if (bv->data[bytenum] & bitval) + if ((bv->data[bytenum] & (1 << bitnum)) == bitval) return H; return L;