From 640c132c31335b196f6d522d9b4f3811046d9c5b Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 26 Aug 2024 08:54:14 +0200 Subject: [PATCH] Port away from qsnprinf() and mark the project free of it qsnprintf() has been deprecated in favor of std::snprintf(). Change-Id: I3a963e7715403a8ac5cf0d93302eb40d0c116656 Reviewed-by: Eike Ziller --- CMakeLists.txt | 2 ++ src/libs/cplusplus/pp-engine.cpp | 11 ++++++----- src/libs/utils/devicefileaccess.cpp | 12 ++++++------ src/plugins/debugger/debuggerprotocol.cpp | 4 +++- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 62487d77a7e..635c5c9fdd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,8 @@ if(MSVC) add_compile_options(/wd4573) endif() +add_definitions(-DQT_NO_QSNPRINTF) + find_package(Qt6 ${IDE_QT_VERSION_MIN} COMPONENTS Concurrent Core Gui Network PrintSupport Qml Sql Widgets Xml Core5Compat ${QT_TEST_COMPONENT} diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index a1343e54713..2357397c7dc 100644 --- a/src/libs/cplusplus/pp-engine.cpp +++ b/src/libs/cplusplus/pp-engine.cpp @@ -42,6 +42,7 @@ #include #include +#include #include #include #include @@ -1287,8 +1288,8 @@ void Preprocessor::trackExpansionCycles(PPToken *tk) // Offset and length of the macro invocation char chunk[40]; - qsnprintf(chunk, sizeof(chunk), "# expansion begin %d,%d", tk->byteOffset, - tk->bytes()); + std::snprintf(chunk, sizeof(chunk), "# expansion begin %d,%d", tk->byteOffset, + tk->bytes()); buffer.append(chunk); // Expanded tokens @@ -1297,18 +1298,18 @@ void Preprocessor::trackExpansionCycles(PPToken *tk) const QPair &p = m_state.m_expandedTokensInfo.at(i); if (p.first) { if (generatedCount) { - qsnprintf(chunk, sizeof(chunk), " ~%d", generatedCount); + std::snprintf(chunk, sizeof(chunk), " ~%d", generatedCount); buffer.append(chunk); generatedCount = 0; } - qsnprintf(chunk, sizeof(chunk), " %d:%d", p.first, p.second); + std::snprintf(chunk, sizeof(chunk), " %d:%d", p.first, p.second); buffer.append(chunk); } else { ++generatedCount; } } if (generatedCount) { - qsnprintf(chunk, sizeof(chunk), " ~%d", generatedCount); + std::snprintf(chunk, sizeof(chunk), " ~%d", generatedCount); buffer.append(chunk); } buffer.append('\n'); diff --git a/src/libs/utils/devicefileaccess.cpp b/src/libs/utils/devicefileaccess.cpp index a316c58db01..495fb70417c 100644 --- a/src/libs/utils/devicefileaccess.cpp +++ b/src/libs/utils/devicefileaccess.cpp @@ -39,6 +39,7 @@ #include #include +#include namespace Utils { @@ -943,12 +944,11 @@ static inline QByteArray fileIdWin7(HANDLE handle) BY_HANDLE_FILE_INFORMATION info; if (GetFileInformationByHandle(handle, &info)) { char buffer[sizeof "01234567:0123456701234567\0"]; - qsnprintf(buffer, - sizeof(buffer), - "%lx:%08lx%08lx", - info.dwVolumeSerialNumber, - info.nFileIndexHigh, - info.nFileIndexLow); + std::snprintf(buffer, sizeof(buffer), + "%lx:%08lx%08lx", + info.dwVolumeSerialNumber, + info.nFileIndexHigh, + info.nFileIndexLow); return QByteArray(buffer); } return QByteArray(); diff --git a/src/plugins/debugger/debuggerprotocol.cpp b/src/plugins/debugger/debuggerprotocol.cpp index 6df472afa52..80e0b806e03 100644 --- a/src/plugins/debugger/debuggerprotocol.cpp +++ b/src/plugins/debugger/debuggerprotocol.cpp @@ -15,6 +15,8 @@ #include #include +#include + namespace Debugger::Internal { static uchar fromhex(uchar c) @@ -535,7 +537,7 @@ static QString quoteUnprintableLatin1(const QString &ba) if (isprint(c)) { res += ba.at(i); } else { - qsnprintf(buf, sizeof(buf) - 1, "\\%x", int(c)); + std::snprintf(buf, sizeof(buf) - 1, "\\%x", int(c)); res += QLatin1String(buf); } }