fix: multiple bugfixes

- Fix data race: use atomic.Bool for running in server.go
- Fix busy loop in timer.go: use time.After when idle
- Fix division by zero in print_replay
- Fix silently swallowed errors in proto_generator
- Fix suppressed error in native_encoder
- Delete unused registry_data_hunter
This commit is contained in:
OpenCode
2026-08-05 14:50:10 +02:00
parent 0ed96837bd
commit 4b278b7ee3
7 changed files with 30 additions and 169 deletions
+9 -2
View File
@@ -1,6 +1,7 @@
package main
import (
"fmt"
"go/ast"
"os"
"strconv"
@@ -38,8 +39,14 @@ func GeneratePacketInfoFile(versions []string, packetInfos []PacketInfo) (err er
typeExpr = Selector(vUnderscore, typeName)
}
packetId, _ := strconv.ParseInt(p.PacketId, 0, 32)
protocolVersion, _ := strconv.Atoi(p.ProtocolVersion)
packetId, err := strconv.ParseInt(p.PacketId, 0, 32)
if err != nil {
panic(fmt.Errorf("failed to parse packet ID %q: %w", p.PacketId, err))
}
protocolVersion, err := strconv.Atoi(p.ProtocolVersion)
if err != nil {
panic(fmt.Errorf("failed to parse protocol version %q: %w", p.ProtocolVersion, err))
}
packetInfoExprs = append(packetInfoExprs, CompLit(nil, []ast.Expr{
KeyValueExpr(Ident("Type"), AddrOf(CompLit(typeExpr, nil))),
+1
View File
@@ -87,6 +87,7 @@ func ArrayEncoder(g *Generator, varToSet ast.Expr, dataRaw any, name string) (s
}
s2, err := g.VisitEncoder(Index(varToSet, Ident(iName)), data.Type, name+"Inner")
if err != nil {
return
}
s2 = Stmts(ForRange(Ident(iName), Call(Ident("len"), varToSet), NewBlock(s2)))
s = append(s1, s2...)