From ee7c14ecc3a3a2486f77d2098ded6638b4c969a9 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 8 Sep 2018 18:44:00 -0700 Subject: [PATCH] Shearwater: report error when parsing freedive Support for the 8 byte freedive samples has yet to be added. For now bail out. Signed-off-by: Dirk Hohndel --- src/shearwater_predator_parser.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/shearwater_predator_parser.c b/src/shearwater_predator_parser.c index 86f2310..6c2ac18 100644 --- a/src/shearwater_predator_parser.c +++ b/src/shearwater_predator_parser.c @@ -486,6 +486,14 @@ shearwater_predator_parser_cache (shearwater_predator_parser_t *parser) } } + // if this is logversion 9 or higher, make sure this isn't a freedive, as we can't parse that + if (logversion > 9 && pnf) { + if (data[parser->block_offset[LOG_RECORD_OPENING_5] + 25] == LOG_RECORD_FREEDIVE_SAMPLE) { + ERROR (abstract->context, "Cannot parse freedive samples"); + return DC_STATUS_DATAFORMAT; + } + } + // Default dive mode. dc_divemode_t mode = DC_DIVEMODE_OC;