summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/serialbus/qmodbuspdu.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/serialbus/qmodbuspdu.cpp b/src/serialbus/qmodbuspdu.cpp
index 350dc76..d3870f8 100644
--- a/src/serialbus/qmodbuspdu.cpp
+++ b/src/serialbus/qmodbuspdu.cpp
@@ -105,9 +105,10 @@ static int minimumDataSize(const QModbusPdu &pdu, Type type)
static QDataStream &pduFromStream(QDataStream &stream, QModbusPdu &pdu, Type type)
{
- QModbusPdu::FunctionCode code = QModbusPdu::Invalid;
- if (stream.readRawData((char *) (&code), sizeof(quint8)) != sizeof(quint8))
+ quint8 codeByte = 0;
+ if (stream.readRawData((char *) (&codeByte), sizeof(quint8)) != sizeof(quint8))
return stream;
+ QModbusPdu::FunctionCode code = (QModbusPdu::FunctionCode) codeByte;
pdu.setFunctionCode(code);
auto needsAdditionalRead = [](QModbusPdu &pdu, int size) -> bool {