summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/io/qsettings.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index a9767669e0e..0c323459612 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -636,14 +636,13 @@ void QSettingsPrivate::iniEscapedString(const QString &str, QByteArray &result)
&& !str.startsWith("@Variant("_L1)
&& !str.startsWith("@DateTime("_L1);
- qsizetype i;
- qsizetype startPos = result.size();
-
QStringEncoder toUtf8(QStringEncoder::Utf8);
+ qsizetype startPos = result.size();
result.reserve(startPos + str.size() * 3 / 2);
+
const QChar *unicode = str.unicode();
- for (i = 0; i < str.size(); ++i) {
+ for (qsizetype i = 0; i < str.size(); ++i) {
uint ch = unicode[i].unicode();
if (ch == ';' || ch == ',' || ch == '=')
needsQuotes = true;