Update unCodable packet hunter to new scheme
This commit is contained in:
@@ -386,7 +386,7 @@ func BitFieldDecoder(g *Generator, varToSet ast.Expr, dataRaw any, name string)
|
|||||||
for _, field := range data {
|
for _, field := range data {
|
||||||
totalSize += field.Size
|
totalSize += field.Size
|
||||||
}
|
}
|
||||||
p, err := TotalBitfieldSizeToProtodefName(totalSize)
|
p, err := BitSizeToUnsignedProtodefName(totalSize)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ func BitFieldEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string)
|
|||||||
for _, field := range data {
|
for _, field := range data {
|
||||||
totalSize += field.Size
|
totalSize += field.Size
|
||||||
}
|
}
|
||||||
p, err := TotalBitfieldSizeToProtodefName(totalSize)
|
p, err := BitSizeToUnsignedProtodefName(totalSize)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,22 @@ func VisitOptionType(g *Generator, dataRaw any) (e ast.Expr, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func TotalBitfieldSizeToProtodefName(totalSize int) (e string, err error) {
|
func BitSizeToSignedProtodefName(totalSize int) (e string, err error) {
|
||||||
|
if totalSize <= 8 {
|
||||||
|
e = "i8"
|
||||||
|
} else if totalSize <= 16 {
|
||||||
|
e = "i16"
|
||||||
|
} else if totalSize <= 32 {
|
||||||
|
e = "i32"
|
||||||
|
} else if totalSize <= 64 {
|
||||||
|
e = "i64"
|
||||||
|
} else {
|
||||||
|
err = errors.New("bitfield size too large")
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func BitSizeToUnsignedProtodefName(totalSize int) (e string, err error) {
|
||||||
if totalSize <= 8 {
|
if totalSize <= 8 {
|
||||||
e = "u8"
|
e = "u8"
|
||||||
} else if totalSize <= 16 {
|
} else if totalSize <= 16 {
|
||||||
@@ -120,7 +135,7 @@ func VisitBitFieldType(g *Generator, dataRaw any) (e ast.Expr, err error) {
|
|||||||
totalSize += field.Size
|
totalSize += field.Size
|
||||||
}
|
}
|
||||||
// TODO: we will want to generate Methods and other stuff
|
// TODO: we will want to generate Methods and other stuff
|
||||||
p, err := TotalBitfieldSizeToProtodefName(totalSize)
|
p, err := BitSizeToUnsignedProtodefName(totalSize)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -101,7 +101,7 @@ import (
|
|||||||
func TestFailedPacket%10X(t *testing.T) {
|
func TestFailedPacket%10X(t *testing.T) {
|
||||||
p := v1_21_8.Play%vPacket{}
|
p := v1_21_8.Play%vPacket{}
|
||||||
b := bytes.NewBuffer(%#v)
|
b := bytes.NewBuffer(%#v)
|
||||||
p, err := p.Decode(b)
|
err := p.Decode(b)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user