This cleans up the code, and allows duplicated conditions checking for a
gas change to be removed when determining whether a segment is of interest.
From d646fa6b65b717e792e8f560878f857c8a16927d Mon Sep 17 00:00:00 2001
From: Rick Walsh <[email protected]>
Date: Tue, 23 Jun 2015 23:20:30 +1000
Subject: [PATCH 2/2] Define gaschange_before and gaschange_after a few lines
 earlier

This is required so they work in the test for /* do we want to skip this leg as it is devoid of anything useful? */
We were already trying to use gaschange_after (and previously gaschange), but it was duplicating an existing condition (now removed).

Signed-off-by: Rick Walsh <[email protected]>
---
 planner.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/planner.c b/planner.c
index fc4275b..7ed2cf7 100644
--- a/planner.c
+++ b/planner.c
@@ -581,21 +581,20 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
 			nextdp = nextdp->next;
 		if (nextdp)
 			newgasmix = nextdp->gasmix;
+		gaschange_after = (nextdp && (gasmix_distance(&gasmix, &newgasmix) || dp->setpoint != nextdp->setpoint));
+		gaschange_before =  (gasmix_distance(&lastprintgasmix, &gasmix) || lastprintsetpoint != dp->setpoint);
 		/* do we want to skip this leg as it is devoid of anything useful? */
 		if (!dp->entered &&
-		    gasmix_distance(&gasmix, &newgasmix) == 0 &&
 		    nextdp &&
-		    dp->setpoint == nextdp->setpoint &&
 		    dp->depth != lastdepth &&
-		    nextdp->depth != dp->depth
-		    && !gaschange_after)
+		    nextdp->depth != dp->depth &&
+		    !gaschange_before &&
+		    !gaschange_after)
 			continue;
 		if (dp->time - lasttime < 10 && !(gaschange_after && dp->next && dp->depth != dp->next->depth))
 			continue;
 
 		len = strlen(buffer);
-		gaschange_after = (nextdp && (gasmix_distance(&gasmix, &newgasmix) || dp->setpoint != nextdp->setpoint));
-		gaschange_before =  (gasmix_distance(&lastprintgasmix, &gasmix) || lastprintsetpoint != dp->setpoint);
 		if (plan_verbatim) {
 			if (dp->depth != lastprintdepth) {
 				if (plan_display_transitions || dp->entered || !dp->next || (gaschange_after && dp->next && dp->depth != nextdp->depth)) {
-- 
2.4.3

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to