From: Linus Torvalds Date: Thu, 1 Sep 2011 23:59:10 +0000 (-0700) Subject: Save everything in our current dives and samples into the xml file X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=1376712f0bc952e33a42121570c64add6a2a9446;p=ext%2Fsubsurface.git Save everything in our current dives and samples into the xml file Now, as we start parsing more, we just need to also add the code to save it. Signed-off-by: Linus Torvalds --- diff --git a/save-xml.c b/save-xml.c index 29f22e6..406469b 100644 --- a/save-xml.c +++ b/save-xml.c @@ -22,11 +22,34 @@ static void show_temperature(FILE *f, temperature_t temp, const char *pre, const } } +static void show_depth(FILE *f, depth_t depth, const char *pre, const char *post) +{ + if (depth.mm) + fprintf(f, "%s%u.%03u%s", pre, FRACTION(depth.mm, 1000), post); +} + +static void show_duration(FILE *f, duration_t duration, const char *pre, const char *post) +{ + if (duration.seconds) + fprintf(f, "%s%u:%03u%s", pre, FRACTION(duration.seconds, 60), post); +} + +static void show_pressure(FILE *f, pressure_t pressure, const char *pre, const char *post) +{ + if (pressure.mbar) + fprintf(f, "%s%u.%03u%s", pre, FRACTION(pressure.mbar, 1000), post); +} + static void save_overview(FILE *f, struct dive *dive) { - fprintf(f, " %u.%03u m\n", FRACTION(dive->maxdepth.mm, 1000)); + show_depth(f, dive->maxdepth, " ", " m\n"); + show_depth(f, dive->meandepth, " ", " m\n"); show_temperature(f, dive->airtemp, " ", " C\n"); show_temperature(f, dive->watertemp, " ", " C\n"); + show_duration(f, dive->duration, " ", " min\n"); + show_duration(f, dive->surfacetime, " ", " min\n"); + show_pressure(f, dive->beginning_pressure, " ", " bar\n"); + show_pressure(f, dive->end_pressure, " ", " bar\n"); } static void save_gasmix(FILE *f, struct dive *dive) @@ -53,10 +76,9 @@ static void save_sample(FILE *f, struct sample *sample) FRACTION(sample->time.seconds,60), FRACTION(sample->depth.mm, 1000)); show_temperature(f, sample->temperature, " temp='", " C'"); - if (sample->tankpressure.mbar) { - fprintf(f, " pressure='%u.%03u bar'", - FRACTION(sample->tankpressure.mbar, 1000)); - } + show_pressure(f, sample->tankpressure, " pressure='", " bar'"); + if (sample->tankindex) + fprintf(f, " tankindex='%d'", sample->tankindex); fprintf(f, ">\n"); }