diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2021-08-02 17:44:20 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2021-08-06 14:29:18 +0200 |
commit | 2452a7e1842642ed2619ced0421576a7f98556c3 (patch) | |
tree | 34627e3a003979795c36ca27fb6a0091ea6a6ea4 /src | |
parent | 0dca7afaee30278ed8b1717784c5e61f3c661392 (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.cpp | 16 |
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; } |