fix: possible packet issues
This commit is contained in:
+104
-104
@@ -3602,110 +3602,6 @@ func (c WrittenBookPage) WriteTo(w io.Writer) (n int64, err error) {
|
||||
return n, err
|
||||
}
|
||||
|
||||
// Int32VarIntArray a utility type for encoding/decoding packet.Int -> int32[packet.VarInt] slice.
|
||||
type Int32VarIntArray []int32
|
||||
|
||||
func (a Int32VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
|
||||
size := len(a)
|
||||
nn, err := packet.VarInt(size).WriteTo(w)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
n += nn
|
||||
for i := 0; i < size; i++ {
|
||||
nn, err := packet.Int(a[i]).WriteTo(w)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (a *Int32VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var size packet.VarInt
|
||||
nn, err := size.ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
if size < 0 {
|
||||
return n, errors.New("array length less than zero")
|
||||
}
|
||||
|
||||
if size > 32767 {
|
||||
return n, errors.New("array length greater than 32767")
|
||||
}
|
||||
|
||||
if cap(*a) >= int(size) {
|
||||
*a = (*a)[:int(size)]
|
||||
} else {
|
||||
*a = make(Int32VarIntArray, int(size))
|
||||
}
|
||||
|
||||
for i := 0; i < int(size); i++ {
|
||||
nn, err = (*packet.Int)(&(*a)[i]).ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
|
||||
return n, err
|
||||
}
|
||||
|
||||
// Int32PrefixedArrayVarIntArray a utility type for encoding/decoding packet.Int -> int32[packet.VarInt] slice.
|
||||
type Int32PrefixedArrayVarIntArray []int32
|
||||
|
||||
func (a Int32PrefixedArrayVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
|
||||
size := len(a)
|
||||
nn, err := packet.VarInt(size).WriteTo(w)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
n += nn
|
||||
for i := 0; i < size; i++ {
|
||||
nn, err := packet.Int(a[i]).WriteTo(w)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (a *Int32PrefixedArrayVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var size packet.VarInt
|
||||
nn, err := size.ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
if size < 0 {
|
||||
return n, errors.New("array length less than zero")
|
||||
}
|
||||
|
||||
if size > 32767 {
|
||||
return n, errors.New("array length greater than 32767")
|
||||
}
|
||||
|
||||
if cap(*a) >= int(size) {
|
||||
*a = (*a)[:int(size)]
|
||||
} else {
|
||||
*a = make(Int32PrefixedArrayVarIntArray, int(size))
|
||||
}
|
||||
|
||||
for i := 0; i < int(size); i++ {
|
||||
nn, err = (*packet.Int)(&(*a)[i]).ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
|
||||
return n, err
|
||||
}
|
||||
|
||||
// Float32VarIntArray a utility type for encoding/decoding packet.Float -> float32[packet.VarInt] slice.
|
||||
type Float32VarIntArray []float32
|
||||
|
||||
@@ -3913,3 +3809,107 @@ func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
|
||||
return n, err
|
||||
}
|
||||
|
||||
// Int32VarIntArray a utility type for encoding/decoding packet.Int -> int32[packet.VarInt] slice.
|
||||
type Int32VarIntArray []int32
|
||||
|
||||
func (a Int32VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
|
||||
size := len(a)
|
||||
nn, err := packet.VarInt(size).WriteTo(w)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
n += nn
|
||||
for i := 0; i < size; i++ {
|
||||
nn, err := packet.Int(a[i]).WriteTo(w)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (a *Int32VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var size packet.VarInt
|
||||
nn, err := size.ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
if size < 0 {
|
||||
return n, errors.New("array length less than zero")
|
||||
}
|
||||
|
||||
if size > 32767 {
|
||||
return n, errors.New("array length greater than 32767")
|
||||
}
|
||||
|
||||
if cap(*a) >= int(size) {
|
||||
*a = (*a)[:int(size)]
|
||||
} else {
|
||||
*a = make(Int32VarIntArray, int(size))
|
||||
}
|
||||
|
||||
for i := 0; i < int(size); i++ {
|
||||
nn, err = (*packet.Int)(&(*a)[i]).ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
|
||||
return n, err
|
||||
}
|
||||
|
||||
// Int32PrefixedArrayVarIntArray a utility type for encoding/decoding packet.Int -> int32[packet.VarInt] slice.
|
||||
type Int32PrefixedArrayVarIntArray []int32
|
||||
|
||||
func (a Int32PrefixedArrayVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
|
||||
size := len(a)
|
||||
nn, err := packet.VarInt(size).WriteTo(w)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
n += nn
|
||||
for i := 0; i < size; i++ {
|
||||
nn, err := packet.Int(a[i]).WriteTo(w)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (a *Int32PrefixedArrayVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var size packet.VarInt
|
||||
nn, err := size.ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
if size < 0 {
|
||||
return n, errors.New("array length less than zero")
|
||||
}
|
||||
|
||||
if size > 32767 {
|
||||
return n, errors.New("array length greater than 32767")
|
||||
}
|
||||
|
||||
if cap(*a) >= int(size) {
|
||||
*a = (*a)[:int(size)]
|
||||
} else {
|
||||
*a = make(Int32PrefixedArrayVarIntArray, int(size))
|
||||
}
|
||||
|
||||
for i := 0; i < int(size); i++ {
|
||||
nn, err = (*packet.Int)(&(*a)[i]).ReadFrom(r)
|
||||
n += nn
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
|
||||
return n, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user