From a4c158effe328dede9ddbe35bc59449a6d9cb55a Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Tue, 6 Feb 2024 13:40:25 +0800 Subject: [PATCH] corelib: settings - make qsettings.cpp unity buildable Both qsettings.cpp and qjsonparser.cpp defined Space in the global namespace. Hiding it in one of them in an implementation namespace resolves the name clash. Pick-to: 6.6 6.5 Change-Id: I8dd1244f80d87f3908597ed82c8e41b49b7b916c Reviewed-by: Marc Mutz (cherry picked from commit 4ff65f0e5615b1132ec13c6eeba3647162d8dd0f) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/CMakeLists.txt | 1 - src/corelib/io/qsettings.cpp | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index c0244857ceb..bf24eec2cfb 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -327,7 +327,6 @@ qt_internal_add_module(Core text/qstringconverter.cpp # enum Data tools/qcryptographichash.cpp # KeccakNISTInterface/Final io/qdebug.cpp # undef qDebug - io/qsettings.cpp # Space (also in qjsonparser.cpp) NO_PCH_SOURCES compat/removed_api.cpp global/qsimd.cpp diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 81b03c27258..7c439ae6bec 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -1518,6 +1518,8 @@ void QConfFileSettingsPrivate::syncConfFile(QConfFile *confFile) } } +namespace SettingsImpl { + enum { Space = 0x1, Special = 0x2 }; static const char charTraits[256] = @@ -1544,10 +1546,15 @@ static const char charTraits[256] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +} // namespace SettingsImpl + +using SettingsImpl::charTraits; + bool QConfFileSettingsPrivate::readIniLine(QByteArrayView data, qsizetype &dataPos, qsizetype &lineStart, qsizetype &lineLen, qsizetype &equalsPos) { + using namespace SettingsImpl; qsizetype dataLen = data.size(); bool inQuotes = false;