]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Don't guess input cylinder size as cubic feet
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 10 Sep 2011 22:15:40 +0000 (15:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 10 Sep 2011 22:15:40 +0000 (15:15 -0700)
That just screws up the good xml files that have everything in
well-defined units and chose the sane metric units.

So do the cuft -> liter conversion only if the input units are
explicitly CUFT, or known ambiguous input (SUUNTO).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
parse-xml.c

index 92da468f44a2f946bdada7e310a924f6141e931b..4fd4dcfe6415f1495c414b05a69785579355a821 100644 (file)
@@ -1053,11 +1053,12 @@ static void sanitize_cylinder_type(cylinder_type_t *type)
        /* Ok, we have both size and pressure: try to match a description */
        match_standard_cylinder(type);
 
-       /* .. and let's assume that the 'size' was cu ft of air */
-       volume_of_air = type->size.mliter * 28.317;     /* milli-cu ft to milliliter */
-       atm = type->workingpressure.mbar / 1013.25;     /* working pressure in atm */
-       volume = volume_of_air / atm;                   /* milliliters at 1 atm: "true size" */
-       type->size.mliter = volume + 0.5;
+       if (input_units.volume == CUFT || import_source == SUUNTO) {
+               volume_of_air = type->size.mliter * 28.317;     /* milli-cu ft to milliliter */
+               atm = type->workingpressure.mbar / 1013.25;     /* working pressure in atm */
+               volume = volume_of_air / atm;                   /* milliliters at 1 atm: "true size" */
+               type->size.mliter = volume + 0.5;
+       }
 }
 
 static void sanitize_cylinder_info(struct dive *dive)