[PATCH 2/2] Add type for gaschange events, if missing

Miika Turkia miika.turkia at gmail.com
Sat Jul 12 03:12:24 PDT 2014


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 <miika.turkia at gmail.com>
---
 parse-xml.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/parse-xml.c b/parse-xml.c
index 5375e32..606e251 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);
-- 
1.9.1



More information about the subsurface mailing list