From 14eb0e23afb989e4b89007cd5d1ec7454a2df054 Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Wed, 4 Jun 2014 23:54:33 +0200 Subject: Planner: Change 'lasttime' only if we printed something in the plan. This makes the 'segment' durations equal the runtime differences even when we don't display transitions in deco. Signed-off-by: Robert C. Helling Signed-off-by: Dirk Hohndel --- planner.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/planner.c b/planner.c index 438b84c73..01bf9f71b 100644 --- a/planner.c +++ b/planner.c @@ -573,18 +573,21 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool gaschange = true; if (plan_verbatim) { if (dp->depth != lastdepth) { - if (plan_display_transitions || dp->entered || !dp->next || (gaschange && dp->next && (dp->depth != dp->next->depth || !dp->next->time))) + if (plan_display_transitions || dp->entered || !dp->next || (gaschange && dp->next && (dp->depth != dp->next->depth || !dp->next->time))) { len += snprintf(buffer + len, sizeof(buffer) - len, translate("gettextFromC", "Transition to %.*f %s in %d:%02d min - runtime %d:%02u on %s
"), decimals, depthvalue, depth_unit, FRACTION(dp->time - lasttime, 60), FRACTION(dp->time, 60), gasname(&gasmix)); + lasttime = dp->time; + } } else { len += snprintf(buffer + len, sizeof(buffer) - len, translate("gettextFromC", "Stay at %.*f %s for %d:%02d min - runtime %d:%02u on %s
"), decimals, depthvalue, depth_unit, FRACTION(dp->time - lasttime, 60), FRACTION(dp->time, 60), gasname(&gasmix)); + lasttime = dp->time; } } else { if (dp->depth == lastdepth || plan_display_transitions || dp->entered || !dp->next || (gaschange && dp->next && (dp->depth != dp->next->depth || !dp->next->time))) { @@ -600,6 +603,7 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool len += snprintf(buffer + len, sizeof(buffer) - len, "  "); } len += snprintf(buffer + len, sizeof(buffer) - len, ""); + lasttime = dp->time; } } if (gaschange) { @@ -610,7 +614,6 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool } gasmix = newgasmix; } - lasttime = dp->time; lastdepth = dp->depth; } while ((dp = dp->next) != NULL); len = strlen(buffer); -- cgit v1.2.3-70-g09d2