summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--parse-xml.c8
-rw-r--r--save-xml.c3
2 files changed, 7 insertions, 4 deletions
diff --git a/parse-xml.c b/parse-xml.c
index 9b0797ea0..ea568f740 100644
--- a/parse-xml.c
+++ b/parse-xml.c
@@ -197,7 +197,7 @@ static void pressure(char *buffer, void *_press)
case FLOAT:
/* Maybe it's in Bar? */
if (val.fp < 500.0) {
- pressure->mbar = val.fp * 1000;
+ pressure->mbar = val.fp * 1000 + 0.5;
break;
}
printf("Unknown fractional pressure reading %s\n", buffer);
@@ -233,7 +233,7 @@ static void depth(char *buffer, void *_depth)
val.fp = val.i;
/* fallthrough */
case FLOAT:
- depth->mm = val.fp * 1000;
+ depth->mm = val.fp * 1000 + 0.5;
break;
default:
printf("Strange depth reading %s\n", buffer);
@@ -257,7 +257,7 @@ static void temperature(char *buffer, void *_temperature)
break;
/* Celsius */
if (val.fp < 50.0) {
- temperature->mkelvin = (val.fp + 273.16) * 1000;
+ temperature->mkelvin = (val.fp + 273.15) * 1000 + 0.5;
break;
}
/* Fahrenheit */
@@ -353,6 +353,8 @@ static void try_to_fill_sample(struct sample *sample, const char *name, char *bu
return;
if (MATCH(".sample.depth", depth, &sample->depth))
return;
+ if (MATCH(".sample.temp", temperature, &sample->temperature))
+ return;
if (MATCH(".sample.temperature", temperature, &sample->temperature))
return;
if (MATCH(".sample.sampletime", sampletime, &sample->time))
diff --git a/save-xml.c b/save-xml.c
index 64254b45e..29f22e6dd 100644
--- a/save-xml.c
+++ b/save-xml.c
@@ -26,6 +26,7 @@ static void save_overview(FILE *f, struct dive *dive)
{
fprintf(f, " <maxdepth>%u.%03u m</maxdepth>\n", FRACTION(dive->maxdepth.mm, 1000));
show_temperature(f, dive->airtemp, " <airtemp>", " C</airtemp>\n");
+ show_temperature(f, dive->watertemp, " <watertemp>", " C</airtemp>\n");
}
static void save_gasmix(FILE *f, struct dive *dive)
@@ -53,7 +54,7 @@ static void save_sample(FILE *f, struct sample *sample)
FRACTION(sample->depth.mm, 1000));
show_temperature(f, sample->temperature, " temp='", " C'");
if (sample->tankpressure.mbar) {
- fprintf(f, " tankpressure='%u.%03u bar'",
+ fprintf(f, " pressure='%u.%03u bar'",
FRACTION(sample->tankpressure.mbar, 1000));
}
fprintf(f, "></sample>\n");