mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-24 02:01:43 +00:00
An empty BitArray is nil.
This commit is contained in:
@ -13,7 +13,11 @@ type BitArray struct {
|
|||||||
Elems []uint64 `json:"elems"` // NOTE: persisted via reflect, must be exported
|
Elems []uint64 `json:"elems"` // NOTE: persisted via reflect, must be exported
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// There is no BitArray whose Size is 0. Use nil instead.
|
||||||
func NewBitArray(bits uint) *BitArray {
|
func NewBitArray(bits uint) *BitArray {
|
||||||
|
if bits == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return &BitArray{
|
return &BitArray{
|
||||||
Bits: bits,
|
Bits: bits,
|
||||||
Elems: make([]uint64, (bits+63)/64),
|
Elems: make([]uint64, (bits+63)/64),
|
||||||
@ -168,10 +172,6 @@ func (bA *BitArray) IsFull() bool {
|
|||||||
bA.mtx.Lock()
|
bA.mtx.Lock()
|
||||||
defer bA.mtx.Unlock()
|
defer bA.mtx.Unlock()
|
||||||
|
|
||||||
if bA.Bits == 0 {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check all elements except the last
|
// Check all elements except the last
|
||||||
for _, elem := range bA.Elems[:len(bA.Elems)-1] {
|
for _, elem := range bA.Elems[:len(bA.Elems)-1] {
|
||||||
if (^elem) != 0 {
|
if (^elem) != 0 {
|
||||||
|
Reference in New Issue
Block a user