]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Use common helper function for the "no cylinder info" case
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 9 Dec 2011 17:52:59 +0000 (09:52 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 9 Dec 2011 17:52:59 +0000 (09:52 -0800)
Miika fixed the statistics code that didn't properly check for the "no
cylinder info" case - this cleans it up and just uses the helper
function in equipment.c.

Rename the helper to be slightly better named while at it.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
dive.h
equipment.c
statistics.c

diff --git a/dive.h b/dive.h
index f0808efb47d3bbe19c4efcb004a957fcc9ad9e9c..0549843ab5374cdca86d5be614c40a9017d0a6d8 100644 (file)
--- a/dive.h
+++ b/dive.h
@@ -87,6 +87,8 @@ typedef struct {
        pressure_t start, end, sample_start, sample_end;
 } cylinder_t;
 
        pressure_t start, end, sample_start, sample_end;
 } cylinder_t;
 
+extern int cylinder_none(cylinder_t *cyl);
+
 extern int get_pressure_units(unsigned int mb, const char **units);
 extern double get_depth_units(unsigned int mm, int *frac, const char **units);
 extern double get_volume_units(unsigned int mm, int *frac, const char **units);
 extern int get_pressure_units(unsigned int mb, const char **units);
 extern double get_depth_units(unsigned int mm, int *frac, const char **units);
 extern double get_volume_units(unsigned int mm, int *frac, const char **units);
index 2b278934d559cba41c5ccd8eca9293fc18671423..037e542083bd6e4b8ccf55596f5380b912eff5bc 100644 (file)
@@ -286,7 +286,7 @@ static void show_cylinder(cylinder_t *cyl, struct cylinder_widget *cylinder)
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(cylinder->o2), o2);
 }
 
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(cylinder->o2), o2);
 }
 
-static int cyl_nothing(cylinder_t *cyl)
+int cylinder_none(cylinder_t *cyl)
 {
        return  !cyl->type.size.mliter &&
                !cyl->type.workingpressure.mbar &&
 {
        return  !cyl->type.size.mliter &&
                !cyl->type.workingpressure.mbar &&
@@ -328,7 +328,7 @@ void show_dive_equipment(struct dive *dive)
        do {
                cylinder_t *cyl = &dive->cylinder[max-1];
 
        do {
                cylinder_t *cyl = &dive->cylinder[max-1];
 
-               if (!cyl_nothing(cyl))
+               if (!cylinder_none(cyl))
                        break;
        } while (--max);
 
                        break;
        } while (--max);
 
index 5cb242e908c7c00a05fe7d712010d7ceb76d8b27..f8f9d0e24549ca10c568eb85fcc2b957ea14a814 100644 (file)
@@ -169,10 +169,7 @@ void show_dive_stats(struct dive *dive)
 
                start = cyl->start.mbar ? : cyl->sample_start.mbar;
                end = cyl->end.mbar ? : cyl->sample_end.mbar;
 
                start = cyl->start.mbar ? : cyl->sample_start.mbar;
                end = cyl->end.mbar ? : cyl->sample_end.mbar;
-               /* we assume that every valid cylinder has either a working pressure
-                * or a size; but for good measure let's also accept cylinders with
-                * a starting or ending pressure*/
-               if (cyl->type.workingpressure.mbar || cyl->type.size.mliter || cyl->gasmix.o2.permille || start || end) {
+               if (!cylinder_none(cyl)) {
                        /* 0% O2 strangely means air, so 21% - I don't like that at all */
                        int o2 = cyl->gasmix.o2.permille ? : 209;
                        if (offset > 0) {
                        /* 0% O2 strangely means air, so 21% - I don't like that at all */
                        int o2 = cyl->gasmix.o2.permille ? : 209;
                        if (offset > 0) {