summaryrefslogtreecommitdiffstats
path: root/src/serialbus/qmodbuspdu.cpp
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2015-11-17 14:39:57 +0100
committerKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-11-17 19:17:43 +0000
commit48437a84f7e3ce43dd058878f35dae316e10cdaf (patch)
tree18e6c2eb63d2832c856933ad25ff1ce717c84b0d /src/serialbus/qmodbuspdu.cpp
parentde0f04e3c672ebb497b393189da36e2c477d1cbf (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.cpp3
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)