summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qversionnumber.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools/qversionnumber.cpp')
-rw-r--r--src/corelib/tools/qversionnumber.cpp8
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)