Commit c0a311ca authored by TursMA's avatar TursMA Committed by Andrei Mihu
Browse files

fix issue 140, byte shifting in multicode (#141)

parent 3dc2fdc4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ func (s *ByteArrayReaderWriter) ReadUint16() (uint16, error) {
	if s.read(buf, 0, 2) != 2 {
		return 0, io.EOF
	}
	return uint16(uint32(buf[0]) | uint32(buf[1]<<8)), nil
	return uint16(uint32(buf[0]) | (uint32(buf[1])<<8)), nil
}

func (s *ByteArrayReaderWriter) ReadBuffer(buf []byte, length int) error {
+4 −4
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ func ReadVariableLengthUint16(rw *ByteArrayReaderWriter) (uint16, error) {
		if err != nil {
			return 0, err
		}
		val |= uint16(b2 << 7)
		val |= (uint16(b2) << 7)
	}
	return val, nil
}
@@ -151,7 +151,7 @@ func ReadPacketHeader(packetBuffer []byte, offset, bufferLength int) (int, byte,
		if b, err = rw.ReadByte(); err != nil {
			return 0, channelID, sequence, ack, 0, err
		} else {
			ackBits |= uint32(b << 8)
			ackBits |= (uint32(b) << 8)
		}
	}
	if (prefixByte & (1 << 3)) != 0 {
@@ -160,7 +160,7 @@ func ReadPacketHeader(packetBuffer []byte, offset, bufferLength int) (int, byte,
		if b, err = rw.ReadByte(); err != nil {
			return 0, channelID, sequence, ack, 0, err
		} else {
			ackBits |= uint32(b << 16)
			ackBits |= (uint32(b) << 16)
		}
	}
	if (prefixByte & (1 << 4)) != 0 {
@@ -169,7 +169,7 @@ func ReadPacketHeader(packetBuffer []byte, offset, bufferLength int) (int, byte,
		if b, err = rw.ReadByte(); err != nil {
			return 0, channelID, sequence, ack, 0, err
		} else {
			ackBits |= uint32(b << 24)
			ackBits |= (uint32(b) << 24)
		}
	}