From 97597dfd97295517383336d2050d7a4b554b0d3c Mon Sep 17 00:00:00 2001 From: Miika Turkia Date: Sat, 12 Jul 2014 13:12:24 +0300 Subject: [PATCH] Add type for gaschange events, if missing Subsurface has saved gas change events without type attribute at some point. Thus we need to add the type when reading in log files, if it is missing. (Gas change logic relies on the type field nowadays.) Fixes #617 Fixes #600 Signed-off-by: Miika Turkia Signed-off-by: Dirk Hohndel --- parse-xml.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/parse-xml.c b/parse-xml.c index 5375e3202..606e25196 100644 --- a/parse-xml.c +++ b/parse-xml.c @@ -1337,6 +1337,12 @@ static void event_end(void) pic->offset.seconds = cur_event.time.seconds; dive_add_picture(cur_dive, pic); } else { + /* At some point gas change events did not have any type. Thus we need to add + * one on import, if we encounter the type one missing. + */ + if (cur_event.type == 0 && strcmp(cur_event.name, "gaschange") == 0) + cur_event.type = 25; + add_event(dc, cur_event.time.seconds, cur_event.type, cur_event.flags, cur_event.value, cur_event.name);