summaryrefslogtreecommitdiffstats
path: root/tests/auto/testlib/selftests/tst_selftests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/testlib/selftests/tst_selftests.cpp')
-rw-r--r--tests/auto/testlib/selftests/tst_selftests.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp
index f6c97bc345..2265fe3147 100644
--- a/tests/auto/testlib/selftests/tst_selftests.cpp
+++ b/tests/auto/testlib/selftests/tst_selftests.cpp
@@ -459,11 +459,13 @@ BenchmarkResult BenchmarkResult::parse(QString const& line, QString* error)
// This code avoids using a QRegExp because QRegExp might be broken.
// Sample format: 4,000 msec per iteration (total: 4,000, iterations: 1)
- QString sFirstNumber;
- while (!remaining.isEmpty() && !remaining.at(0).isSpace()) {
- sFirstNumber += remaining.at(0);
- remaining.remove(0,1);
- }
+ const auto begin = remaining.cbegin();
+ auto it = std::find_if(begin, remaining.cend(), [](const auto ch) {
+ return ch.isSpace();
+ });
+ QString sFirstNumber{std::distance(begin, it), Qt::Uninitialized};
+ std::move(begin, it, sFirstNumber.begin());
+ remaining.erase(begin, it);
remaining = remaining.trimmed();
// 4,000 -> 4000