diff options
author | Alex Blasche <alexander.blasche@theqtcompany.com> | 2015-11-17 14:39:57 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2015-11-17 19:17:43 +0000 |
commit | 48437a84f7e3ce43dd058878f35dae316e10cdaf (patch) | |
tree | 18e6c2eb63d2832c856933ad25ff1ce717c84b0d /src/serialbus/qmodbuspdu.cpp | |
parent | de0f04e3c672ebb497b393189da36e2c477d1cbf (diff) |
Fix QModbusResponse stream in operator
QModbusExceptionResponses were not properly streamed as the exception
character of the response was not recognized.
Change-Id: Ie64c99b54e7f18a41e39987f2e39122c22e27f64
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/serialbus/qmodbuspdu.cpp')
-rw-r--r-- | src/serialbus/qmodbuspdu.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/serialbus/qmodbuspdu.cpp b/src/serialbus/qmodbuspdu.cpp index f56a977..7fef090 100644 --- a/src/serialbus/qmodbuspdu.cpp +++ b/src/serialbus/qmodbuspdu.cpp @@ -49,6 +49,7 @@ enum struct Type { static int minimumDataSize(QModbusPdu::FunctionCode code, Type type) { + Q_ASSERT(!(code & 0x80)); switch (code) { case QModbusPdu::ReadCoils: case QModbusPdu::ReadDiscreteInputs: @@ -612,7 +613,7 @@ QDataStream &operator>>(QDataStream &stream, QModbusResponse &pdu) stream >> code; pdu.setFunctionCode(static_cast<QModbusPdu::FunctionCode> (code)); - int size = Private::minimumDataSize(pdu.functionCode(), Private::Type::Response); + int size = QModbusResponse::minimumDataSize(pdu.functionCode()); if (size < 0) pdu.setFunctionCode(QModbusResponse::Invalid); if (size <= 0) |