summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2021-08-02 17:44:20 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2021-08-06 14:29:18 +0200
commit2452a7e1842642ed2619ced0421576a7f98556c3 (patch)
tree34627e3a003979795c36ca27fb6a0091ea6a6ea4 /src
parent0dca7afaee30278ed8b1717784c5e61f3c661392 (diff)
replaceArgEscapes(): rework local variables to make code simpler
Change-Id: I188dc6f7a0d81d8587cc5a750d8773c3d389644f Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/text/qstring.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp
index d2931f8eb3..53139869e2 100644
--- a/src/corelib/text/qstring.cpp
+++ b/src/corelib/text/qstring.cpp
@@ -7766,9 +7766,6 @@ static ArgEscapeData findArgEscapes(QStringView s)
static QString replaceArgEscapes(QStringView s, const ArgEscapeData &d, qsizetype field_width,
QStringView arg, QStringView larg, QChar fillChar)
{
- const QChar *uc_begin = s.begin();
- const QChar *uc_end = s.end();
-
// Negative field-width for right-padding, positive for left-padding:
const qsizetype abs_field_width = qAbs(field_width);
qsizetype result_len = s.length()
@@ -7779,11 +7776,12 @@ static QString replaceArgEscapes(QStringView s, const ArgEscapeData &d, qsizetyp
*qMax(abs_field_width, larg.length());
QString result(result_len, Qt::Uninitialized);
- QChar *result_buff = const_cast<QChar *>(result.unicode());
-
- QChar *rc = result_buff;
- const QChar *c = uc_begin;
+ QChar *rc = const_cast<QChar *>(result.unicode());
+ QChar *const result_end = rc + result_len;
int repl_cnt = 0;
+
+ const QChar *c = s.begin();
+ const QChar *const uc_end = s.end();
while (c != uc_end) {
/* We don't have to check if we run off the end of the string with c,
because as long as d.occurrences > 0 we KNOW there are valid escape
@@ -7838,12 +7836,12 @@ static QString replaceArgEscapes(QStringView s, const ArgEscapeData &d, qsizetyp
if (++repl_cnt == d.occurrences) {
memcpy(rc, c, (uc_end - c)*sizeof(QChar));
rc += uc_end - c;
- Q_ASSERT(rc - result_buff == result_len);
+ Q_ASSERT(rc == result_end);
c = uc_end;
}
}
}
- Q_ASSERT(rc == result_buff + result_len);
+ Q_ASSERT(rc == result_end);
return result;
}