From: Linus Torvalds Date: Wed, 9 Nov 2011 15:51:00 +0000 (-0800) Subject: Fix up air use calculations for new pressure handling X-Git-Url: http://git.tdb.fi/?p=ext%2Fsubsurface.git;a=commitdiff_plain;h=c32cff2c6be74a6284f940328622740953008020 Fix up air use calculations for new pressure handling Make sure that we calculate air use by using the proper start/end pressures, with the manually set ones being used preferentially over any possible sample data. Signed-off-by: Linus Torvalds --- diff --git a/divelist.c b/divelist.c index 2d04eb5..eb8f231 100644 --- a/divelist.c +++ b/divelist.c @@ -299,6 +299,7 @@ static double calculate_airuse(struct dive *dive) int i; for (i = 0; i < MAX_CYLINDERS; i++) { + pressure_t start, end; cylinder_t *cyl = dive->cylinder + i; int size = cyl->type.size.mliter; double kilo_atm; @@ -306,7 +307,9 @@ static double calculate_airuse(struct dive *dive) if (!size) continue; - kilo_atm = (to_ATM(cyl->start) - to_ATM(cyl->end)) / 1000.0; + start = cyl->start.mbar ? cyl->start : cyl->sample_start; + end = cyl->end.mbar ? cyl->end : cyl->sample_end; + kilo_atm = (to_ATM(start) - to_ATM(end)) / 1000.0; /* Liters of air at 1 atm == milliliters at 1k atm*/ airuse += kilo_atm * size;