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.
debian
Andreas.Eversberg 12 years ago committed by Sylvain Munaut
parent acffb60c1a
commit dc0ebdfbdf
  1. 2
      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;

Loading…
Cancel
Save