diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-12-09 13:29:48 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-12-09 13:29:48 +0100 |
commit | 94e1a8ca573fa740347156fa4c325f4d33b99380 (patch) | |
tree | eb65df0692addec15d3f8d10daaadc97c65a0e3b | |
parent | b0bf21e31b429aa1f3e6b3c10dd556680f3e9a0e (diff) |
expose all types of trailing data errors
-rw-r--r-- | deserialize.fmt | 4 | ||||
-rw-r--r-- | internal/mkserialize/mkserialize.go | 2 | ||||
-rw-r--r-- | serialize.go | 22 | ||||
-rw-r--r-- | zerialize.go | 7 |
4 files changed, 21 insertions, 14 deletions
diff --git a/deserialize.fmt b/deserialize.fmt index 5d7b192..9302344 100644 --- a/deserialize.fmt +++ b/deserialize.fmt @@ -99,7 +99,7 @@ PointedThing { chk(err) (*p)[i] = msg if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -111,6 +111,6 @@ PointedThing { (*p)[i].deserialize(r) } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } diff --git a/internal/mkserialize/mkserialize.go b/internal/mkserialize/mkserialize.go index bd2ead2..4535aaa 100644 --- a/internal/mkserialize/mkserialize.go +++ b/internal/mkserialize/mkserialize.go @@ -122,7 +122,7 @@ func structPragma(c *ast.Comment, sp *[]func(), expr string, de bool) { *sp = append(*sp, func() { if de { fmt.Println("if r.N > 0", - `{ chk(fmt.Errorf("%d bytes of trailing data", r.N)) }`) + `{ chk(mkDeTrailingDataError(r)) }`) } else { fmt.Println("{") fmt.Println("buf := w") diff --git a/serialize.go b/serialize.go index f0ab39d..e22a7a1 100644 --- a/serialize.go +++ b/serialize.go @@ -834,7 +834,7 @@ func (obj *ToSrvInteract) deserialize(r io.Reader) { } } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } if err := pcall(func() { @@ -3675,14 +3675,14 @@ func (obj *ToCltNodeDefs) deserialize(r io.Reader) { (*p)[i].deserialize(r) } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } chk(r.Close()) } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -4101,7 +4101,7 @@ func (obj *ToCltItemDefs) deserialize(r io.Reader) { chk(r.Close()) } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -18295,7 +18295,7 @@ func (obj *ToCltNodeMetasChanged) deserialize(r io.Reader) { } } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -28748,7 +28748,7 @@ func (obj *NodeDef) deserialize(r io.Reader) { } } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -29711,7 +29711,7 @@ func (obj *AOAdd) deserialize(r io.Reader) { chk(fmt.Errorf("%s: %w", "github.com/HimbeerserverDE/mt.AOInitData", err)) } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -29791,7 +29791,7 @@ func (obj *IDAOMsg) deserialize(r io.Reader) { } } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -32485,7 +32485,7 @@ func (obj *ItemDef) deserialize(r io.Reader) { chk(fmt.Errorf("%s: %w", "github.com/HimbeerserverDE/mt.SoundDef", err)) } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -41160,7 +41160,7 @@ func (obj *AOInitData) deserialize(r io.Reader) { chk(err) (*p)[i] = msg if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } @@ -41778,7 +41778,7 @@ func (obj *ToolCaps) deserialize(r io.Reader) { } } if r.N > 0 { - chk(fmt.Errorf("%d bytes of trailing data", r.N)) + chk(mkDeTrailingDataError(r)) } } } diff --git a/zerialize.go b/zerialize.go index 0e07bec..bd4339f 100644 --- a/zerialize.go +++ b/zerialize.go @@ -8,6 +8,8 @@ import ( "encoding/binary" "errors" "io" + + "github.com/HimbeerserverDE/mt/rudp" ) // ErrTooLong reports a length that is too long to serialize. @@ -54,3 +56,8 @@ func chk(err error) { panic(serializationError{err}) } } + +func mkDeTrailingDataError(r io.Reader) error { + buf, _ := io.ReadAll(r) + return rudp.TrailingDataError(buf) +} |