]> git.tdb.fi Git - ext/subsurface.git/blobdiff - save-xml.c
Add typical 0 to 5 star rating for dives
[ext/subsurface.git] / save-xml.c
index d6774b5c7f880bb425f9e43209038b13568756f7..80c26b88260fd70665fd0934c2fe79b6c6980486 100644 (file)
@@ -162,7 +162,7 @@ static void show_location(FILE *f, struct dive *dive)
         */
        if (latitude || longitude) {
                int len = snprintf(buffer, sizeof(buffer)-4,
-                       "  <location gps='%f %f'>",
+                       "  <location gps='%.12g %.12g'>",
                        latitude, longitude);
                if (!dive->location) {
                        memcpy(&buffer[len-1], "/>\n", 4);
@@ -182,6 +182,7 @@ static void save_overview(FILE *f, struct dive *dive)
        show_location(f, dive);
        show_utf8(f, dive->divemaster, "  <divemaster>","</divemaster>\n");
        show_utf8(f, dive->buddy, "  <buddy>","</buddy>\n");
+       fprintf(f, "  <rating>%d</rating>\n", dive->rating);
        show_utf8(f, dive->notes, "  <notes>","</notes>\n");
 }
 
@@ -202,16 +203,16 @@ static void save_cylinder_info(FILE *f, struct dive *dive)
                if (!o2 && !volume && !start && !end)
                        return;
                fprintf(f, "  <cylinder");
-               if (o2) {
-                       fprintf(f, " o2='%u.%u%%'", FRACTION(o2, 10));
-                       if (he)
-                               fprintf(f, " he='%u.%u%%'", FRACTION(he, 10));
-               }
                if (volume)
                        show_milli(f, " size='", volume, " l", "'");
                show_pressure(f, cylinder->type.workingpressure, " workpressure='", "'");
                if (description && *description)
                        fprintf(f, " description='%s'", description);
+               if (o2) {
+                       fprintf(f, " o2='%u.%u%%'", FRACTION(o2, 10));
+                       if (he)
+                               fprintf(f, " he='%u.%u%%'", FRACTION(he, 10));
+               }
                show_pressure(f, cylinder->start, " start='", "'");
                show_pressure(f, cylinder->end, " end='", "'");
                fprintf(f, " />\n");