From fa3ba150b17d0e013b080cc29c92bfb68bf6264c Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Thu, 10 Nov 2022 20:16:14 +0300 Subject: deleted reduntant length fields - improved struct append --- packets/messages/types/SvcClassInfo.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'packets/messages/types/SvcClassInfo.go') diff --git a/packets/messages/types/SvcClassInfo.go b/packets/messages/types/SvcClassInfo.go index 58e43b7..fb9dbd8 100644 --- a/packets/messages/types/SvcClassInfo.go +++ b/packets/messages/types/SvcClassInfo.go @@ -7,7 +7,6 @@ import ( ) type SvcClassInfo struct { - Length uint16 CreateOnClient bool ServerClasses []ServerClass } @@ -19,24 +18,25 @@ type ServerClass struct { } func ParseSvcClassInfo(reader *bitreader.ReaderType) SvcClassInfo { + length := reader.TryReadInt16() + createonclient := reader.TryReadBool() var serverclasses []ServerClass - svcclassinfo := SvcClassInfo{ - Length: reader.TryReadInt16(), - CreateOnClient: reader.TryReadBool(), - } - if svcclassinfo.CreateOnClient { - for i := 0; i < int(svcclassinfo.Length); i++ { - id, err := reader.ReadBits(int(math.Log2(float64(svcclassinfo.Length))) + 1) + if createonclient { + serverclasses := make([]ServerClass, length) + for i := 0; i < int(length); i++ { + id, err := reader.ReadBits(int(math.Log2(float64(length))) + 1) if err != nil { panic(err) } - serverclasses = append(serverclasses, ServerClass{ + serverclasses[i] = ServerClass{ ClassId: int32(id), ClassName: reader.TryReadString(), DataTableName: reader.TryReadString(), - }) + } } } - svcclassinfo.ServerClasses = serverclasses - return svcclassinfo + return SvcClassInfo{ + CreateOnClient: createonclient, + ServerClasses: serverclasses, + } } -- cgit v1.2.3