diff options
Diffstat (limited to 'src/BitfieldMan.cc')
| -rw-r--r-- | src/BitfieldMan.cc | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/BitfieldMan.cc b/src/BitfieldMan.cc index c91d3010..af8488a4 100644 --- a/src/BitfieldMan.cc +++ b/src/BitfieldMan.cc @@ -444,7 +444,7 @@ bool BitfieldMan::unsetBit(int32_t index) { return b; } -bool BitfieldMan::isAllBitSet() const { +bool BitfieldMan::isFilteredAllBitSet() const { if(filterEnabled) { for(int32_t i = 0; i < bitfieldLength; ++i) { if((bitfield[i]&filterBitfield[i]) != filterBitfield[i]) { @@ -453,17 +453,21 @@ bool BitfieldMan::isAllBitSet() const { } return true; } else { - for(int32_t i = 0; i < bitfieldLength-1; ++i) { - if(bitfield[i] != 0xff) { - return false; - } - } - unsigned char b = ~((128 >> (blocks-1)%8)-1); - if(bitfield[bitfieldLength-1] != b) { + return isAllBitSet(); + } +} + +bool BitfieldMan::isAllBitSet() const { + for(int32_t i = 0; i < bitfieldLength-1; ++i) { + if(bitfield[i] != 0xff) { return false; } - return true; } + unsigned char b = ~((128 >> (blocks-1)%8)-1); + if(bitfield[bitfieldLength-1] != b) { + return false; + } + return true; } bool BitfieldMan::isBitSetInternal(const unsigned char* bitfield, int32_t index) const { |
