From 3db63477aaceb15b3de7f641fe49561247279449 Mon Sep 17 00:00:00 2001 From: Jae Kwon Date: Mon, 22 Jun 2015 13:46:25 -0700 Subject: [PATCH] An empty BitArray is nil. --- common/bit_array.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/bit_array.go b/common/bit_array.go index eb314335b..034beb0f1 100644 --- a/common/bit_array.go +++ b/common/bit_array.go @@ -13,7 +13,11 @@ type BitArray struct { 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 { + if bits == 0 { + return nil + } return &BitArray{ Bits: bits, Elems: make([]uint64, (bits+63)/64), @@ -168,10 +172,6 @@ func (bA *BitArray) IsFull() bool { bA.mtx.Lock() defer bA.mtx.Unlock() - if bA.Bits == 0 { - return false - } - // Check all elements except the last for _, elem := range bA.Elems[:len(bA.Elems)-1] { if (^elem) != 0 {