From 25ca4c9aba7f3bcc8c59b622990d1becc9293ac8 Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Mon, 24 Feb 2020 09:15:49 +0100 Subject: Init API structs without memset Continuation of a3aa54e Change-Id: Ic6daa7a754f3c869094770ea3e47a097bf4afa84 Reviewed-by: Denis Shienkov Reviewed-by: Alex Blasche --- src/plugins/canbus/socketcan/socketcanbackend.cpp | 12 +++++------- src/plugins/canbus/systeccan/systeccanbackend.cpp | 12 ++++-------- src/plugins/canbus/tinycan/tinycanbackend.cpp | 9 +++------ src/plugins/canbus/vectorcan/vectorcanbackend.cpp | 21 +++++++-------------- 4 files changed, 19 insertions(+), 35 deletions(-) diff --git a/src/plugins/canbus/socketcan/socketcanbackend.cpp b/src/plugins/canbus/socketcan/socketcanbackend.cpp index 2ed1310..e38e187 100644 --- a/src/plugins/canbus/socketcan/socketcanbackend.cpp +++ b/src/plugins/canbus/socketcan/socketcanbackend.cpp @@ -516,8 +516,7 @@ bool SocketCanBackend::writeFrame(const QCanBusFrame &newData) qint64 bytesWritten = 0; if (newData.hasFlexibleDataRateFormat()) { - canfd_frame frame; - ::memset(&frame, 0, sizeof(frame)); + canfd_frame frame = {}; frame.len = newData.payload().size(); frame.can_id = canId; frame.flags = newData.hasBitrateSwitch() ? CANFD_BRS : 0; @@ -526,8 +525,7 @@ bool SocketCanBackend::writeFrame(const QCanBusFrame &newData) bytesWritten = ::write(canSocket, &frame, sizeof(frame)); } else { - can_frame frame; - ::memset(&frame, 0, sizeof(frame)); + can_frame frame = {}; frame.can_dlc = newData.payload().size(); frame.can_id = canId; ::memcpy(frame.data, newData.payload().constData(), frame.can_dlc); @@ -714,7 +712,7 @@ void SocketCanBackend::readSocket() QVector newFrames; for (;;) { - ::memset(&m_frame, 0, sizeof(m_frame)); + m_frame = {}; m_iov.iov_len = sizeof(m_frame); m_msg.msg_namelen = sizeof(m_addr); m_msg.msg_controllen = sizeof(m_ctrlmsg); @@ -734,11 +732,11 @@ void SocketCanBackend::readSocket() continue; } - struct timeval timeStamp; + struct timeval timeStamp = {}; if (Q_UNLIKELY(ioctl(canSocket, SIOCGSTAMP, &timeStamp) < 0)) { setError(qt_error_string(errno), QCanBusDevice::CanBusError::ReadError); - ::memset(&timeStamp, 0, sizeof(timeStamp)); + timeStamp = {}; } const QCanBusFrame::TimeStamp stamp(timeStamp.tv_sec, timeStamp.tv_usec); diff --git a/src/plugins/canbus/systeccan/systeccanbackend.cpp b/src/plugins/canbus/systeccan/systeccanbackend.cpp index a7de557..e5bb09b 100644 --- a/src/plugins/canbus/systeccan/systeccanbackend.cpp +++ b/src/plugins/canbus/systeccan/systeccanbackend.cpp @@ -202,8 +202,7 @@ bool SystecCanBackendPrivate::open() const int bitrate = q->configurationParameter(QCanBusDevice::BitRateKey).toInt(); const bool receiveOwn = q->configurationParameter(QCanBusDevice::ReceiveOwnKey).toBool(); - tUcanInitCanParam param; - ::memset(¶m, 0, sizeof(param)); + tUcanInitCanParam param = {}; param.m_dwSize = sizeof(param); param.m_bMode = receiveOwn ? kUcanModeTxEcho : kUcanModeNormal; param.m_bOCR = USBCAN_OCR_DEFAULT; @@ -373,8 +372,7 @@ void SystecCanBackendPrivate::startWrite() const QCanBusFrame frame = q->dequeueOutgoingFrame(); const QByteArray payload = frame.payload(); - tCanMsgStruct message; - ::memset(&message, 0, sizeof(message)); + tCanMsgStruct message = {}; message.m_dwID = frame.frameId(); message.m_bDLC = quint8(payload.size()); @@ -403,8 +401,7 @@ void SystecCanBackendPrivate::readAllReceivedMessages() QVector newFrames; for (;;) { - tCanMsgStruct message; - ::memset(&message, 0, sizeof(message)); + tCanMsgStruct message = {}; const UCANRET result = ::UcanReadCanMsgEx(handle, &channel, &message, nullptr); if (result == USBCAN_WARN_NODATA) @@ -463,8 +460,7 @@ QCanBusDevice::CanBusStatus SystecCanBackendPrivate::busStatus() { Q_Q(SystecCanBackend); - tStatusStruct status; - ::memset(&status, 0, sizeof(status)); + tStatusStruct status = {}; const UCANRET result = ::UcanGetStatus(handle, &status); if (Q_UNLIKELY(result != USBCAN_SUCCESSFUL)) { diff --git a/src/plugins/canbus/tinycan/tinycanbackend.cpp b/src/plugins/canbus/tinycan/tinycanbackend.cpp index fdd5aaa..62da66d 100644 --- a/src/plugins/canbus/tinycan/tinycanbackend.cpp +++ b/src/plugins/canbus/tinycan/tinycanbackend.cpp @@ -352,8 +352,7 @@ void TinyCanBackendPrivate::startWrite() const QCanBusFrame frame = q->dequeueOutgoingFrame(); const QByteArray payload = frame.payload(); - TCanMsg message; - ::memset(&message, 0, sizeof(message)); + TCanMsg message = {}; if (Q_UNLIKELY(payload.size() > int(sizeof(message.Data.Bytes)))) { qCWarning(QT_CANBUS_PLUGINS_TINYCAN, "Cannot write frame with payload size %d.", payload.size()); @@ -389,16 +388,14 @@ void TinyCanBackendPrivate::startRead() if (!::CanReceiveGetCount(channelIndex)) break; - TCanMsg message; - ::memset(&message, 0, sizeof(message)); + TCanMsg message = {}; const int messagesToRead = 1; const int ret = ::CanReceive(channelIndex, &message, messagesToRead); if (Q_UNLIKELY(ret < 0)) { q->setError(systemErrorString(ret), QCanBusDevice::CanBusError::ReadError); - TDeviceStatus status; - ::memset(&status, 0, sizeof(status)); + TDeviceStatus status = {}; if (::CanGetDeviceStatus(channelIndex, &status) < 0) { q->setError(systemErrorString(ret), QCanBusDevice::CanBusError::ReadError); diff --git a/src/plugins/canbus/vectorcan/vectorcanbackend.cpp b/src/plugins/canbus/vectorcan/vectorcanbackend.cpp index c4d87e2..550f744 100644 --- a/src/plugins/canbus/vectorcan/vectorcanbackend.cpp +++ b/src/plugins/canbus/vectorcan/vectorcanbackend.cpp @@ -191,8 +191,7 @@ bool VectorCanBackendPrivate::open() } } if (usesCanFd && arbBitRate != 0) { - XLcanFdConf xlfdconf; - ::memset(&xlfdconf, 0, sizeof(xlfdconf)); + XLcanFdConf xlfdconf = {}; xlfdconf.dataBitRate = (dataBitRate != 0) ? dataBitRate : arbBitRate; xlfdconf.arbitrationBitRate = arbBitRate; @@ -347,8 +346,7 @@ void VectorCanBackendPrivate::startWrite() quint32 eventCount = 1; XLstatus status = XL_ERROR; if (usesCanFd) { - XLcanTxEvent event; - ::memset(&event, 0, sizeof(event)); + XLcanTxEvent event = {}; event.tag = XL_CAN_EV_TAG_TX_MSG; XL_CAN_TX_MSG &msg = event.tagData.canMsg; @@ -367,8 +365,7 @@ void VectorCanBackendPrivate::startWrite() status = ::xlCanTransmitEx(portHandle, channelMask, eventCount, &eventCount, &event); } else { - XLevent event; - ::memset(&event, 0, sizeof(event)); + XLevent event = {}; event.tag = XL_TRANSMIT_MSG; s_xl_can_msg &msg = event.tagData.msg; @@ -407,8 +404,7 @@ void VectorCanBackendPrivate::startRead() for (;;) { quint32 eventCount = 1; if (usesCanFd) { - XLcanRxEvent event; - ::memset(&event, 0, sizeof(event)); + XLcanRxEvent event = {}; const XLstatus status = ::xlCanReceive(portHandle, &event); if (Q_UNLIKELY(status != XL_SUCCESS)) { @@ -434,8 +430,7 @@ void VectorCanBackendPrivate::startRead() newFrames.append(std::move(frame)); } else { - XLevent event; - ::memset(&event, 0, sizeof(event)); + XLevent event = {}; const XLstatus status = ::xlReceive(portHandle, &eventCount, &event); if (Q_UNLIKELY(status != XL_SUCCESS)) { @@ -668,8 +663,7 @@ QCanBusDevice::CanBusStatus VectorCanBackend::busStatus() quint8 busStatus = 0; if (d->usesCanFd) { - XLcanRxEvent event; - ::memset(&event, 0, sizeof(event)); + XLcanRxEvent event = {}; const XLstatus receiveStatus = ::xlCanReceive(d->portHandle, &event); if (Q_UNLIKELY(receiveStatus != XL_SUCCESS)) { @@ -685,8 +679,7 @@ QCanBusDevice::CanBusStatus VectorCanBackend::busStatus() } else { quint32 eventCount = 1; - XLevent event; - ::memset(&event, 0, sizeof(event)); + XLevent event = {}; const XLstatus receiveStatus = ::xlReceive(d->portHandle, &eventCount, &event); if (Q_UNLIKELY(receiveStatus != XL_SUCCESS)) { -- cgit v1.2.3 From 6e275b20911fc3e5af2a1b972ec3550235250157 Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Wed, 26 Feb 2020 11:22:09 +0100 Subject: PeakCAN: Fix Clang warning on Windows GetLastError() return DWORD aka unsigned long, while qt_error_string takes an int. Change-Id: Ie0c543645c149a9714cdedfdd2ec39b5959fedb8 Reviewed-by: Alex Blasche --- src/plugins/canbus/peakcan/peakcanbackend.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/canbus/peakcan/peakcanbackend.cpp b/src/plugins/canbus/peakcan/peakcanbackend.cpp index d96ca4e..6e1af1c 100644 --- a/src/plugins/canbus/peakcan/peakcanbackend.cpp +++ b/src/plugins/canbus/peakcan/peakcanbackend.cpp @@ -344,7 +344,7 @@ bool PeakCanBackendPrivate::open() if (readHandle == INVALID_HANDLE_VALUE) { readHandle = ::CreateEvent(nullptr, FALSE, FALSE, nullptr); if (Q_UNLIKELY(!readHandle)) { - const QString errorString = qt_error_string(::GetLastError()); + const QString errorString = qt_error_string(int(::GetLastError())); qCCritical(QT_CANBUS_PLUGINS_PEAKCAN, "Cannot create receive event handler: %ls", qUtf16Printable(errorString)); q->setError(errorString, QCanBusDevice::ConnectionError); @@ -404,7 +404,7 @@ void PeakCanBackendPrivate::close() #if defined(Q_OS_WIN32) if (readHandle && (readHandle != INVALID_HANDLE_VALUE)) { - const QString errorString = qt_error_string(::GetLastError()); + const QString errorString = qt_error_string(int(::GetLastError())); if (Q_UNLIKELY(!::CloseHandle(readHandle))) { qCCritical(QT_CANBUS_PLUGINS_PEAKCAN, "Cannot close read handle: %ls", qUtf16Printable(errorString)); -- cgit v1.2.3