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.
diff --git a/src/bitvec.c b/src/bitvec.c
index 04c465a..95d78a5 100644
--- a/src/bitvec.c
+++ b/src/bitvec.c
@@ -90,7 +90,7 @@
 
 	bitval = bitval2mask(H, bitnum);
 
-	if (bv->data[bytenum] & bitval)
+	if ((bv->data[bytenum] & (1 << bitnum)) == bitval)
 		return H;
 
 	return L;