diff options
-rw-r--r-- | divelist.c | 2 | ||||
-rw-r--r-- | profile.c | 2 | ||||
-rw-r--r-- | statistics.c | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/divelist.c b/divelist.c index 17f24ef7e..f0a66b456 100644 --- a/divelist.c +++ b/divelist.c @@ -311,6 +311,8 @@ static double calculate_airuse(struct dive *dive) start = cyl->start.mbar ? cyl->start : cyl->sample_start; end = cyl->end.mbar ? cyl->end : cyl->sample_end; + if (!end.mbar || start.mbar <= end.mbar) + continue; airuse += gas_volume(cyl, start) - gas_volume(cyl, end); } @@ -157,7 +157,7 @@ static int get_local_sac(struct plot_data *entry1, struct plot_data *entry2, str return 0; a.mbar = GET_PRESSURE(entry1); b.mbar = GET_PRESSURE(entry2); - if (!a.mbar || !b.mbar) + if (!b.mbar || a.mbar <= b.mbar) return 0; /* Mean pressure in ATM */ diff --git a/statistics.c b/statistics.c index 1610a1a8a..ad5a95d06 100644 --- a/statistics.c +++ b/statistics.c @@ -329,7 +329,7 @@ void get_gas_used(struct dive *dive, volume_t gases[MAX_CYLINDERS]) start = cyl->start.mbar ? cyl->start : cyl->sample_start; end = cyl->end.mbar ? cyl->end : cyl->sample_end; - if (start.mbar && end.mbar) + if (end.mbar && start.mbar > end.mbar) gases[idx].mliter = gas_volume(cyl, start) - gas_volume(cyl, end); } } |