diff options
author | Karsten Heimrich <karsten.heimrich@qt.io> | 2021-03-04 11:37:37 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@qt.io> | 2021-03-04 14:23:39 +0100 |
commit | 94e75b8b0ce02a24bec2b7309615f2638e37a1ce (patch) | |
tree | 559816d7e4aff61ea6daf12ffc9b7296559e5938 /src/serialbus/qmodbuspdu.cpp | |
parent | ac853f1fd0b73619925224955b3064f51fbdb923 (diff) |
Fix 5.15 compile error
Change-Id: Iff78d4f410e62328fce04c0a7212aec961425427
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/serialbus/qmodbuspdu.cpp')
-rw-r--r-- | src/serialbus/qmodbuspdu.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/serialbus/qmodbuspdu.cpp b/src/serialbus/qmodbuspdu.cpp index b07a3ce..2c91588 100644 --- a/src/serialbus/qmodbuspdu.cpp +++ b/src/serialbus/qmodbuspdu.cpp @@ -121,6 +121,8 @@ static int minimumDataSize(const QModbusPdu &pdu, Type type) static QDataStream &pduFromStream(QDataStream &stream, Type type, QModbusPdu *pdu) { struct RAII { + RAII(QModbusPdu *ptr = nullptr) + : tmp(ptr) {} QModbusPdu *tmp{ nullptr }; ~RAII() { if (tmp) *tmp = {}; } } raii = { pdu }; @@ -170,8 +172,8 @@ static QDataStream &pduFromStream(QDataStream &stream, Type type, QModbusPdu *pd size += left; } if ((stream.status() == QDataStream::Ok) && (size <= MaxPduDataSize)) { + raii = {}; pdu->setData(data); - raii = { nullptr }; return stream; // early return to avoid second read } } else { @@ -187,8 +189,8 @@ static QDataStream &pduFromStream(QDataStream &stream, Type type, QModbusPdu *pd if (data.size() <= MaxPduDataSize) { data.resize(size); if (stream.readRawData(data.data(), data.size()) == size) { + raii = {}; pdu->setData(data); - raii = { nullptr }; } } return stream; |