summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/planner.c20
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);