From 819c32e3c23eb4afda27106b44be45f051efb58a Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 6 Aug 2024 09:43:56 +0200 Subject: [PATCH] Port to std::(v)snprinf() and mark the module q(v)snprinf-free Pick-to: 6.8 Change-Id: I682ddfae8d6132ee2d5f8e763e2af2d76ed4bb4c Reviewed-by: Ulf Hermann Reviewed-by: Fabian Kosmale --- .cmake.conf | 1 + src/3rdparty/masm/stubs/WTFStubs.cpp | 8 +++++--- src/qml/jit/qv4assemblercommon.cpp | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.cmake.conf b/.cmake.conf index 0736c680fe..5fa772e243 100644 --- a/.cmake.conf +++ b/.cmake.conf @@ -4,3 +4,4 @@ set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_LEAN_HEADERS=1") list(APPEND QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1") list(APPEND QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_FOREACH=1") +list(APPEND QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_QSNPRINTF=1") diff --git a/src/3rdparty/masm/stubs/WTFStubs.cpp b/src/3rdparty/masm/stubs/WTFStubs.cpp index f876cda032..66e0b455b9 100644 --- a/src/3rdparty/masm/stubs/WTFStubs.cpp +++ b/src/3rdparty/masm/stubs/WTFStubs.cpp @@ -1,11 +1,13 @@ // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include + +#include + #include #include #include #include -#include // qvsnprintf #include #if ENABLE(ASSEMBLER) && CPU(X86) && !OS(MAC_OS_X) @@ -58,7 +60,7 @@ FilePrintStream& dataFile() void dataLogFV(const char* format, va_list args) { char buffer[1024]; - qvsnprintf(buffer, sizeof(buffer), format, args); + std::vsnprintf(buffer, sizeof(buffer), format, args); qDebug().nospace().noquote() << buffer; } @@ -67,7 +69,7 @@ void dataLogF(const char* format, ...) char buffer[1024]; va_list args; va_start(args, format); - qvsnprintf(buffer, sizeof(buffer), format, args); + std::vsnprintf(buffer, sizeof(buffer), format, args); va_end(args); qDebug().nospace().noquote() << buffer; } diff --git a/src/qml/jit/qv4assemblercommon.cpp b/src/qml/jit/qv4assemblercommon.cpp index b18b4960b7..bedd4a78d0 100644 --- a/src/qml/jit/qv4assemblercommon.cpp +++ b/src/qml/jit/qv4assemblercommon.cpp @@ -15,6 +15,8 @@ #include #include +#include + #if QT_CONFIG(qml_jit) #undef ENABLE_ALL_ASSEMBLERS_FOR_REFACTORING_PURPOSES @@ -44,7 +46,7 @@ public: void vprintf(const char* format, va_list argList) override WTF_ATTRIBUTE_PRINTF(2, 0) { - const int printed = qvsnprintf(buf.data(), buf.size(), format, argList); + const int printed = std::vsnprintf(buf.data(), buf.size(), format, argList); Q_ASSERT(printed <= buf.size()); qint64 written = 0;