From 1780fb2a237af80ddc1f9cfb70cb892b53b91990 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Sun, 2 May 2021 17:50:05 +0200 Subject: Minor code refactoring Some methods in ConfigLoaderHandler always returned true, change them to return void instead. Also port them to take a QStringView instead of QStringRef, this doesn't require a lot of changes because a QStringView can be constructed from a QStringRef. QXmlStreamAttribute methods like value() and name() return QStringRef in Qt5 and QStringView in Qt6, "fix" the issue by using auto keyword, which works in both cases. QStringView::toInt() isn't efficient in Qt5 so make the build conditional. NO_CHANGELOG --- src/core/kconfig.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/core/kconfig.cpp') diff --git a/src/core/kconfig.cpp b/src/core/kconfig.cpp index cc3700e1..8118ea51 100644 --- a/src/core/kconfig.cpp +++ b/src/core/kconfig.cpp @@ -174,21 +174,21 @@ QString KConfigPrivate::expandString(const QString &value) int nDollarPos = aValue.indexOf(QLatin1Char('$')); while (nDollarPos != -1 && nDollarPos + 1 < aValue.length()) { // there is at least one $ - if (aValue[nDollarPos + 1] != QLatin1Char('$')) { + if (aValue.at(nDollarPos + 1) != QLatin1Char('$')) { int nEndPos = nDollarPos + 1; // the next character is not $ - QStringRef aVarName; - if (aValue[nEndPos] == QLatin1Char('{')) { + QStringView aVarName; + if (aValue.at(nEndPos) == QLatin1Char('{')) { while ((nEndPos <= aValue.length()) && (aValue[nEndPos] != QLatin1Char('}'))) { ++nEndPos; } ++nEndPos; - aVarName = aValue.midRef(nDollarPos + 2, nEndPos - nDollarPos - 3); + aVarName = QStringView(aValue).mid(nDollarPos + 2, nEndPos - nDollarPos - 3); } else { while (nEndPos < aValue.length() && (aValue[nEndPos].isNumber() || aValue[nEndPos].isLetter() || aValue[nEndPos] == QLatin1Char('_'))) { ++nEndPos; } - aVarName = aValue.midRef(nDollarPos + 1, nEndPos - nDollarPos - 1); + aVarName = QStringView(aValue).mid(nDollarPos + 1, nEndPos - nDollarPos - 1); } QString env; if (!aVarName.isEmpty()) { -- cgit v1.2.1