diff options
author | Oleg Evseev <ev.mipt@gmail.com> | 2017-05-15 16:38:48 +0300 |
---|---|---|
committer | Alex Blasche <alexander.blasche@qt.io> | 2017-05-16 05:55:23 +0000 |
commit | 5bae353bc2faf0aab222d09b1bf21fc0e0dc37eb (patch) | |
tree | 06a0967e101f98fbb9462fcee9e37d4ff6fb7303 /src/positioning | |
parent | b1cce3258e0d6c474976a0f2d4f4a4cf32e5bfb2 (diff) | |
download | qtlocation-5bae353bc2faf0aab222d09b1bf21fc0e0dc37eb.tar.gz |
Fix NMEA time parsing error
Before this patch parsing time strings with less than 3 digits for number
of milliseconds gave the wrong time result.
Task-number: QTBUG-60814
Change-Id: Iab354bf47c0f7def3752326fe3ef2845d4be31c1
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/positioning')
-rw-r--r-- | src/positioning/qlocationutils.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/positioning/qlocationutils.cpp b/src/positioning/qlocationutils.cpp index 829f1bbf..5304392b 100644 --- a/src/positioning/qlocationutils.cpp +++ b/src/positioning/qlocationutils.cpp @@ -361,7 +361,7 @@ bool QLocationUtils::getNmeaTime(const QByteArray &bytes, QTime *time) int midLen = qMin(3, bytes.size() - dotIndex - 1); int msecs = bytes.mid(dotIndex + 1, midLen).toUInt(&hasMsecs); if (hasMsecs) - tempTime = tempTime.addMSecs(msecs); + tempTime = tempTime.addMSecs(msecs*(midLen == 3 ? 1 : midLen == 2 ? 10 : 100)); } if (tempTime.isValid()) { |