diff --git a/components/misc/messageformatparser.cpp b/components/misc/messageformatparser.cpp index 89dd58e1f0..4b77a9da7a 100644 --- a/components/misc/messageformatparser.cpp +++ b/components/misc/messageformatparser.cpp @@ -8,11 +8,10 @@ namespace { if (i < m.size() && m[i] >= '0' && m[i] <= '9') { - size_t start = i++; - while (i < m.size() && m[i] >= '0' && m[i] <= '9') - ++i; + const char* start = m.data() + i; int parsed; - auto [ptr, ec] = std::from_chars(m.data() + start, m.data() + i, parsed); + auto [ptr, ec] = std::from_chars(start, m.data() + m.size(), parsed); + i += ptr - start; if (ec == std::errc()) return parsed; }