From 11739370c49dfbe14572ec92b905720f62672df3 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Sat, 30 May 2026 07:18:23 -0500 Subject: [PATCH] fix endianness --- command.go | 8 ++++---- datarequest.go | 12 ++++++------ diagdata.go | 4 ++-- nzs.go | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/command.go b/command.go index e952e8b..22785fd 100644 --- a/command.go +++ b/command.go @@ -55,9 +55,9 @@ func (ac *ArtCommand) UnmarshalBinary(data []byte) error { ac.ProtVerLo = data[11] offset := 12 - ac.EstaMan = binary.LittleEndian.Uint16(data[offset : offset+2]) + ac.EstaMan = binary.BigEndian.Uint16(data[offset : offset+2]) - dataLength := int(binary.LittleEndian.Uint16(data[offset+2 : offset+4])) + dataLength := int(binary.BigEndian.Uint16(data[offset+2 : offset+4])) if len(data[offset+4:]) < dataLength { return errors.New("[]byte length not long enough to contain data length specified in packet") @@ -73,12 +73,12 @@ func (ac *ArtCommand) MarshalBinary() ([]byte, error) { binary.LittleEndian.PutUint16(data[8:10], ac.OpCode) data[10] = ac.ProtVerHi data[11] = ac.ProtVerLo - binary.LittleEndian.PutUint16(data[12:14], ac.EstaMan) + binary.BigEndian.PutUint16(data[12:14], ac.EstaMan) dataLength := uint16(len(ac.Data)) if dataLength > 512 { return nil, errors.New("data length must be less than or equal to 512 bytes") } - binary.LittleEndian.PutUint16(data[14:16], dataLength) + binary.BigEndian.PutUint16(data[14:16], dataLength) data = append(data, ac.Data...) return data, nil } diff --git a/datarequest.go b/datarequest.go index 163e23b..56edef2 100644 --- a/datarequest.go +++ b/datarequest.go @@ -57,9 +57,9 @@ func (adr *ArtDataRequest) UnmarshalBinary(data []byte) error { adr.ProtVerLo = data[11] offset := 12 - adr.EstaMan = binary.LittleEndian.Uint16(data[offset : offset+2]) - adr.Oem = binary.LittleEndian.Uint16(data[offset+2 : offset+4]) - adr.Request = binary.LittleEndian.Uint16(data[offset+4 : offset+6]) + adr.EstaMan = binary.BigEndian.Uint16(data[offset : offset+2]) + adr.Oem = binary.BigEndian.Uint16(data[offset+2 : offset+4]) + adr.Request = binary.BigEndian.Uint16(data[offset+4 : offset+6]) copy(adr.spare[:], data[offset+6:offset+28]) return nil } @@ -70,9 +70,9 @@ func (adr *ArtDataRequest) MarshalBinary() ([]byte, error) { binary.LittleEndian.PutUint16(data[8:10], adr.OpCode) data[10] = adr.ProtVerHi data[11] = adr.ProtVerLo - binary.LittleEndian.PutUint16(data[12:14], adr.EstaMan) - binary.LittleEndian.PutUint16(data[14:16], adr.Oem) - binary.LittleEndian.PutUint16(data[16:18], adr.Request) + binary.BigEndian.PutUint16(data[12:14], adr.EstaMan) + binary.BigEndian.PutUint16(data[14:16], adr.Oem) + binary.BigEndian.PutUint16(data[16:18], adr.Request) copy(data[18:40], adr.spare[:]) return data, nil } diff --git a/diagdata.go b/diagdata.go index a522e34..fe882fc 100644 --- a/diagdata.go +++ b/diagdata.go @@ -65,7 +65,7 @@ func (add *ArtDiagData) UnmarshalBinary(data []byte) error { add.DiagPriority = DiagPriority(data[offset+1]) add.LogicalPort = data[offset+2] add.filler3 = data[offset+3] - dataLength := binary.LittleEndian.Uint16(data[offset+4 : offset+6]) + dataLength := binary.BigEndian.Uint16(data[offset+4 : offset+6]) if len(data[offset+6:]) < int(dataLength) { return errors.New("[]byte length not long enough to contain data length specified in packet") @@ -89,7 +89,7 @@ func (add *ArtDiagData) MarshalBinary() ([]byte, error) { if dataLength > 512 { return nil, errors.New("data length must be less than or equal to 512 bytes") } - binary.LittleEndian.PutUint16(data[16:18], dataLength) + binary.BigEndian.PutUint16(data[16:18], dataLength) data = append(data, add.Data...) return data, nil } diff --git a/nzs.go b/nzs.go index d5439f7..e6262b4 100644 --- a/nzs.go +++ b/nzs.go @@ -56,7 +56,7 @@ func (an *ArtNzs) UnmarshalBinary(data []byte) error { an.SubUni = data[offset+2] an.Net = data[offset+3] - dataLength := int(binary.LittleEndian.Uint16(data[offset+4 : offset+6])) + dataLength := int(binary.BigEndian.Uint16(data[offset+4 : offset+6])) if len(data[offset+6:]) < dataLength { return errors.New("[]byte length not long enough to contain data length specified in packet") @@ -80,7 +80,7 @@ func (an *ArtNzs) MarshalBinary() ([]byte, error) { if dataLength > 512 { return nil, errors.New("data length must be less than or equal to 512 bytes") } - binary.LittleEndian.PutUint16(data[16:18], dataLength) + binary.BigEndian.PutUint16(data[16:18], dataLength) copy(data[18:], an.Data) return data, nil }