diff options
Diffstat (limited to 'src/corelib/tools/qversionnumber.cpp')
-rw-r--r-- | src/corelib/tools/qversionnumber.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/tools/qversionnumber.cpp b/src/corelib/tools/qversionnumber.cpp index f44d5e4e8c..dcb2a3ad64 100644 --- a/src/corelib/tools/qversionnumber.cpp +++ b/src/corelib/tools/qversionnumber.cpp @@ -409,12 +409,12 @@ static QVersionNumber from_string(QLatin1StringView string, qsizetype *suffixInd do { // parsing as unsigned so a minus sign is rejected - auto [value, end] = qstrntoull(start, endOfString - start, 10); - if (!end || value > qulonglong(std::numeric_limits<int>::max())) + auto [value, used] = qstrntoull(start, endOfString - start, 10); + if (used <= 0 || value > qulonglong(std::numeric_limits<int>::max())) break; seg.append(int(value)); - start = end + 1; - lastGoodEnd = end; + start += used + 1; + lastGoodEnd = start - 1; } while (start < endOfString && *lastGoodEnd == '.'); if (suffixIndex) |