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-10 08:00:50 +0100 |
commit | 1d674e21715aeadf242dea1d567bbbf7696acbdc (patch) | |
tree | 7655f32a397d93a8a884470dbd6f6aa15239d8b8 /src | |
parent | 4e7a1e844b352ca3da4dce7e96814d500d062cd8 (diff) |
Fix 5.15 compile error
Change-Id: Iff78d4f410e62328fce04c0a7212aec961425427
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src')
-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 75e5ed8..112b73d 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; |