+ airuse = calculate_airuse(dive);
+ if (!airuse)
+ return;
+ if (!dive->duration.seconds)
+ return;
+
+ /* Mean pressure in atm: 1 atm per 10m */
+ pressure = 1 + (dive->meandepth.mm / 10000.0);
+ sac = airuse / pressure * 60 / dive->duration.seconds;
+
+ /* milliliters per minute.. */
+ *val = sac * 1000;
+
+ switch (output_units.volume) {
+ case LITER:
+ unit = "l";
+ fmt = "%4.0f %s";
+ break;
+ case CUFT:
+ unit = "cuft";
+ fmt = "%4.2f %s";
+ airuse /= liters_per_cuft;
+ sac /= liters_per_cuft;
+ break;
+ }
+
+ snprintf(buffer, sizeof(buffer), fmt, sac, unit);
+ *str = strdup(buffer);