summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Evseev <ev.mipt@gmail.com>2017-05-15 16:38:48 +0300
committerAlex Blasche <alexander.blasche@qt.io>2017-05-16 05:55:23 +0000
commit5bae353bc2faf0aab222d09b1bf21fc0e0dc37eb (patch)
tree06a0967e101f98fbb9462fcee9e37d4ff6fb7303
parentb1cce3258e0d6c474976a0f2d4f4a4cf32e5bfb2 (diff)
downloadqtlocation-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>
-rw-r--r--src/positioning/qlocationutils.cpp2
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()) {