summaryrefslogtreecommitdiffstats
path: root/dive.c
diff options
context:
space:
mode:
Diffstat (limited to 'dive.c')
-rw-r--r--dive.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/dive.c b/dive.c
index aee09d53a..54784cdba 100644
--- a/dive.c
+++ b/dive.c
@@ -478,11 +478,12 @@ struct dive *fixup_dive(struct dive *dive)
int asc_desc_time = depth*60/9000;
int duration = dive->duration.seconds;
- /* Protect against insane dives - make mean be half of max */
- if (duration <= asc_desc_time) {
+ /* Some sanity checks against insane dives */
+ if (duration < 2)
duration = 2;
- asc_desc_time = 1;
- }
+ if (asc_desc_time * 2 >= duration)
+ asc_desc_time = duration/2;
+
dive->meandepth.mm = depth*(duration-asc_desc_time)/duration;
return dive;
}