From cb7213a09cfe0f93ec8e2e707f2ba83fcb2aea34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Fri, 13 Mar 2026 14:19:31 +0100 Subject: [PATCH] Fix clang build flags and APDU bit parsing --- config.pri | 5 ++--- libnymea-zigbee/zigbeeadpu.cpp | 12 ++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/config.pri b/config.pri index 93ad169..acf766f 100644 --- a/config.pri +++ b/config.pri @@ -3,17 +3,16 @@ QT += gui serialport sql greaterThan(QT_MAJOR_VERSION, 5) { message("Building using Qt6 support") CONFIG *= c++17 - QMAKE_LFLAGS *= -std=c++17 QMAKE_CXXFLAGS *= -std=c++17 } else { message("Building using Qt5 support") CONFIG *= c++11 - QMAKE_LFLAGS *= -std=c++11 QMAKE_CXXFLAGS *= -std=c++11 DEFINES += QT_DISABLE_DEPRECATED_UP_TO=0x050F00 } -QMAKE_CXXFLAGS += -Werror -z defs +QMAKE_CXXFLAGS += -Werror +QMAKE_LFLAGS += -Wl,-z,defs sourceDir = $$PWD buildDir = $$shadowed($$PWD) diff --git a/libnymea-zigbee/zigbeeadpu.cpp b/libnymea-zigbee/zigbeeadpu.cpp index d897b23..0a16d5e 100644 --- a/libnymea-zigbee/zigbeeadpu.cpp +++ b/libnymea-zigbee/zigbeeadpu.cpp @@ -65,11 +65,11 @@ quint8 ZigbeeAdpu::buildFrameControlByte(FrameControl frameControl) ZigbeeAdpu::FrameControl ZigbeeAdpu::readFrameControlByte(quint8 frameControlByte) { FrameControl frameControl; - frameControl.frameType = static_cast(frameControlByte | 0x03); - frameControl.deliveryMode = static_cast(frameControlByte | 0x0C); - frameControl.apsAckFormat = frameControlByte | 0x10; - frameControl.security = frameControlByte | 0x20; - frameControl.acknowledgementRequest = frameControlByte | 0x40; - frameControl.extendedHeader = frameControlByte | 0x80; + frameControl.frameType = static_cast(frameControlByte & 0x03); + frameControl.deliveryMode = static_cast(frameControlByte & 0x0C); + frameControl.apsAckFormat = (frameControlByte & 0x10) != 0; + frameControl.security = (frameControlByte & 0x20) != 0; + frameControl.acknowledgementRequest = (frameControlByte & 0x40) != 0; + frameControl.extendedHeader = (frameControlByte & 0x80) != 0; return frameControl; }