aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2016-04-25 21:23:22 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-04-25 12:32:50 -0700
commit4ef2ef15408d1cf2c1f024f568b508a8f98e900b (patch)
tree993283e54b4893369d77e52ac89c759550d34517
parent573489bebc32427b3dca20dadf2068bfc321d0c8 (diff)
downloadsubsurface-4ef2ef15408d1cf2c1f024f568b508a8f98e900b.tar.gz
Fix time parsing for Divesoft Freedom
Divesoft uses 17 bits for time so parse accordingly. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--parse-xml.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/parse-xml.c b/parse-xml.c
index 4cea43552..4e21593ad 100644
--- a/parse-xml.c
+++ b/parse-xml.c
@@ -3344,7 +3344,7 @@ int parse_dlf_buffer(unsigned char *buffer, size_t size)
while (ptr < buffer + size) {
time = ((ptr[0] >> 4) & 0x0f) +
((ptr[1] << 4) & 0xff0) +
- (ptr[2] & 0x0f) * 3600; /* hours */
+ ((ptr[2] << 12) & 0x1f000);
event = ptr[0] & 0x0f;
switch (event) {
case 0: