diff options
-rw-r--r-- | core/planner.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/core/planner.c b/core/planner.c index 2ce001d39..3fef02248 100644 --- a/core/planner.c +++ b/core/planner.c @@ -1099,15 +1099,17 @@ bool plan(struct deco_state *ds, struct diveplan *diveplan, struct dive *dive, i diveplan->eff_gflow = lrint(100.0 * (regressiona(ds) * first_stop_depth + regressionb(ds))); } - for (int i = 0; i < MAX_CYLINDERS; i++) - if (cylinder_nodata(&dive->cylinder[i])) { - // Switch to an empty air cylinder for breathing air at the surface - // If no empty cylinder is found, keep using last deco gas - current_cylinder = i; - dive->cylinder[i].cylinder_use = NOT_USED; - break; - } - plan_add_segment(diveplan, prefs.surface_segment, 0, current_cylinder, 0, false, OC); + if (prefs.surface_segment != 0) { + for (int i = 0; i < MAX_CYLINDERS; i++) + if (cylinder_nodata(&dive->cylinder[i])) { + // Switch to an empty air cylinder for breathing air at the surface + // If no empty cylinder is found, keep using last deco gas + current_cylinder = i; + dive->cylinder[i].cylinder_use = NOT_USED; + break; + } + plan_add_segment(diveplan, prefs.surface_segment, 0, current_cylinder, 0, false, OC); + } create_dive_from_plan(diveplan, dive, is_planner); add_plan_to_notes(diveplan, dive, show_disclaimer, error); fixup_dc_duration(&dive->dc); |