From a3d57fde34e80527da2c2ae194367bf56b09490a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=92=9F=E8=92=BB?= Date: Wed, 18 Jun 2025 08:47:58 +0800 Subject: [PATCH] more util types --- net/packet/util.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/packet/util.go b/net/packet/util.go index 0336d92..8c8c2cf 100644 --- a/net/packet/util.go +++ b/net/packet/util.go @@ -313,7 +313,10 @@ func (o OptID[T, P]) WriteTo(w io.Writer) (n int64, err error) { o.ID++ } n1, err := (*VarInt)(&o.ID).WriteTo(w) - if err != nil || o.ID > 0 { + if err != nil { + return n1, err + } + if o.Has { return n1, err } n2, err := o.Val.WriteTo(w) @@ -323,6 +326,7 @@ func (o OptID[T, P]) WriteTo(w io.Writer) (n int64, err error) { func (o *OptID[T, P]) ReadFrom(r io.Reader) (n int64, err error) { n1, err := (*VarInt)(&o.ID).ReadFrom(r) if o.ID > 0 { + o.Has = true o.ID-- return n1, err }