From 52fada92f5e502f77ad19486a98b896fdf667d85 Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 27 Dec 2015 05:22:52 +0100 Subject: fix fragmentation header parsing --- saprotocol.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'saprotocol.cc') diff --git a/saprotocol.cc b/saprotocol.cc index 00c083f..b27c01e 100644 --- a/saprotocol.cc +++ b/saprotocol.cc @@ -229,14 +229,17 @@ QByteArray SAProtocol::packFrame(quint16 sessionId, const QByteArray &data, Fram return packFrame(frame); } -SAProtocol::DataFrame SAProtocol::unpackDataFrame(const QByteArray &data, bool withSeqNum) +SAProtocol::DataFrame SAProtocol::unpackDataFrame(const QByteArray &data, bool withSeqNum, bool withFragStatus) { DataFrame frame; int offset = 0; frame.withSeqNum = withSeqNum; + frame.withFragStatus = withFragStatus; if (withSeqNum) { frame.seqNum = read(data, offset); - frame.unk_1 = read(data, offset); + } + if (withFragStatus) { + frame.fragStatus = static_cast(read(data, offset)); } frame.data = data.mid(offset); return frame; @@ -247,7 +250,9 @@ QByteArray SAProtocol::packDataFrame(const DataFrame &frame) QByteArray data; if (frame.withSeqNum) { append(data, frame.seqNum); - append(data, frame.unk_1); + } + if (frame.withFragStatus) { + append(data, frame.fragStatus); } data.append(frame.data); return data; -- cgit v1.2.3