From 396106e307eacc4b4fbd79a995a0fafdc7f91e6b Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Mon, 3 Mar 2014 21:53:26 -0800 Subject: Don't use negative gas index This shouldn't happen, but in case we run out of gases we shouldn't use the negative gas index (which is the error return of get_gas_idx()) for the array. Let's fall back to the (incorrect) first gas. Signed-off-by: Dirk Hohndel --- planner.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/planner.c b/planner.c index 7a5f52945..5142b0e50 100644 --- a/planner.c +++ b/planner.c @@ -161,6 +161,10 @@ static int time_at_last_depth(struct dive *dive, int o2, int he, unsigned int ne sample = &dive->dc.sample[dive->dc.samples - 1]; depth = sample->depth.mm; gasidx = get_gasidx(dive, o2, he); + if (gasidx == -1) { + fprintf(stderr, "cannot find gas (%d/%d), using first gas\n", o2, he); + gasidx = 0; + } while (deco_allowed_depth(tissue_tolerance, surface_pressure, dive, 1) > next_stop) { wait++; tissue_tolerance = add_segment(depth_to_mbar(depth, dive) / 1000.0, -- cgit v1.2.3-70-g09d2