diff options
author | Harald Welte <laforge@netfilter.org> | 2009-12-16 15:59:24 +0100 |
---|---|---|
committer | Harald Welte <laforge@netfilter.org> | 2009-12-16 15:59:24 +0100 |
commit | 680e2eccef2bffb462e5854db87139126fb1920d (patch) | |
tree | 8cfbb408621df333c56c51911bb6122d4249c220 | |
parent | 152b6261f88ac085cd96b63374ad5847ac7b3ce2 (diff) |
fix bug in bitvec resulting in all bits being set to 0xff
-rw-r--r-- | openbsc/src/bitvec.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/openbsc/src/bitvec.c b/openbsc/src/bitvec.c index ad03958f3..d6f5679cf 100644 --- a/openbsc/src/bitvec.c +++ b/openbsc/src/bitvec.c @@ -104,12 +104,12 @@ int bitvec_set_bit_pos(struct bitvec *bv, unsigned int bitnr, if (bytenum >= bv->data_len) return -EINVAL; - bitval = bitval2mask(ONE, bitnum); - /* first clear the bit */ - bv->data[bytenum] &= ~(1 << bitnum); + bitval = bitval2mask(ONE, bitnum); + bv->data[bytenum] &= ~bitval; /* then set it to desired value */ + bitval = bitval2mask(bit, bitnum); bv->data[bytenum] |= bitval; return 0; |