Fix Palette bugs reported by patyhank
This commit is contained in:
@ -182,3 +182,15 @@ func (b *BitStorage) WriteTo(w io.Writer) (int64, error) {
|
|||||||
}
|
}
|
||||||
return n, nil
|
return n, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (b *BitStorage) Fix(bits int) error {
|
||||||
|
b.mask = 1<<bits - 1
|
||||||
|
b.bits = bits
|
||||||
|
b.valuesPerLong = 64 / bits
|
||||||
|
// check data length
|
||||||
|
dataLen := calcBitStorageSize(bits, b.length)
|
||||||
|
if l := len(b.data); l != dataLen {
|
||||||
|
return newBitStorageErr{ArrlLen: l, WantLen: dataLen}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
@ -150,7 +150,7 @@ func (p *PaletteContainer[T]) ReadFrom(r io.Reader) (n int64, err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return n, err
|
return n, err
|
||||||
}
|
}
|
||||||
return n, nil
|
return n, p.data.Fix(int(nBits))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PaletteContainer[T]) WriteTo(w io.Writer) (n int64, err error) {
|
func (p *PaletteContainer[T]) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
Reference in New Issue
Block a user