fixes some bug
Some checks failed
CodeQL / Analyze (go) (push) Has been cancelled
Go / Test (1.22) (push) Has been cancelled
Go / Test (^1.22) (push) Has been cancelled

This commit is contained in:
2025-08-26 23:38:23 +08:00
parent 7b60edc248
commit 540ba15e83
3 changed files with 21 additions and 13 deletions

View File

@ -51,7 +51,7 @@ const (
// Message is a message sent by other
type Message struct {
Text string `json:"text" nbt:"text"`
Text string `json:"text" nbt:"text,omitempty"`
Bold bool `json:"bold,omitempty" nbt:"bold,omitempty"` // 粗体
Italic bool `json:"italic,omitempty" nbt:"italic,omitempty"` // 斜体

View File

@ -153,17 +153,7 @@ func (b *BitStorage) Raw() []uint64 {
return b.data
}
func (b *BitStorage) ReadFrom(r io.Reader) (int64, error) {
var Len pk.VarInt
n, err := Len.ReadFrom(r)
if err != nil {
return n, err
}
if cap(b.data) >= int(Len) {
b.data = b.data[:Len]
} else {
b.data = make([]uint64, Len)
}
func (b *BitStorage) ReadFrom(r io.Reader) (n int64, err error) {
var v pk.Long
for i := range b.data {
nn, err := v.ReadFrom(r)
@ -213,3 +203,19 @@ func (b *BitStorage) Fix(bits int) error {
}
return nil
}
func (b *BitStorage) Expand(bits int) error {
if bits == 0 {
b.mask = 0
b.bits = 0
b.valuesPerLong = 0
return nil
}
b.mask = 1<<bits - 1
b.bits = bits
b.valuesPerLong = 64 / bits
// check data length
dataLen := calcBitStorageSize(bits, b.length)
b.data = make([]uint64, dataLen)
return nil
}

View File

@ -142,12 +142,14 @@ func (p *PaletteContainer[T]) ReadFrom(r io.Reader) (n int64, err error) {
return n, err
}
p.data = NewBitStorage(p.bits, p.data.length, nil)
nn, err = p.data.ReadFrom(r)
n += nn
if err != nil {
return n, err
}
return n, p.data.Fix(p.bits)
return n, nil
}
func (p *PaletteContainer[T]) WriteTo(w io.Writer) (n int64, err error) {