diff options
-rw-r--r-- | .qmake.conf | 1 | ||||
-rw-r--r-- | src/plugins/canbus/socketcan/socketcanbackend.cpp | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/.qmake.conf b/.qmake.conf index 66a0241..3748d16 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -1,3 +1,4 @@ load(qt_build_config) +CONFIG += warning_clean MODULE_VERSION = 5.6.0 diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp index 56ea7c3..122b546 100644 --- a/src/plugins/canbus/socketcan/socketcanbackend.cpp +++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp @@ -157,7 +157,8 @@ bool SocketCanBackend::applyConfigurationParameter(int key, const QVariant &valu break; } - can_filter filters[filterList.size()]; + QVector<can_filter> filters; + filters.resize(filterList.size()); for (int i = 0; i < filterList.size(); i++) { const QCanBusDevice::Filter f = filterList.at(i); can_filter filter; @@ -199,7 +200,8 @@ bool SocketCanBackend::applyConfigurationParameter(int key, const QVariant &valu filters[i] = filter; } - if (setsockopt(canSocket, SOL_CAN_RAW, CAN_RAW_FILTER, filters, sizeof(filters)) < 0) { + if (setsockopt(canSocket, SOL_CAN_RAW, CAN_RAW_FILTER, + filters.constData(), sizeof(filters[0]) * filters.size()) < 0) { setError(qt_error_string(errno), QCanBusDevice::CanBusError::ConfigurationError); break; |