Set maxdepth correctly for dives with no samples

This showed up when suddenly some of the test dives no longer got merged
when loaded twice. As I moved maxdepth up into the dive structure and
added the code to fixup the data from what is in the divecomputer I missed
the part where the function is exited early if there are no samples. This
patch corrects that oversight.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-02-12 12:34:22 -08:00
parent 9fa9ebcff2
commit 1b548c071b

15
dive.c
View file

@ -661,14 +661,15 @@ static void fixup_dive_dc(struct dive *dive, struct divecomputer *dc)
asc_desc_time = duration/2; asc_desc_time = duration/2;
dc->meandepth.mm = depth*(duration-asc_desc_time)/duration; dc->meandepth.mm = depth*(duration-asc_desc_time)/duration;
return; if (depth > maxdepth)
maxdepth = depth;
} else {
update_duration(&dc->duration, end - start);
if (start != end)
depthtime /= (end - start);
update_depth(&dc->meandepth, depthtime);
} }
update_duration(&dc->duration, end - start);
if (start != end)
depthtime /= (end - start);
update_depth(&dc->meandepth, depthtime);
update_temperature(&dc->watertemp, mintemp); update_temperature(&dc->watertemp, mintemp);
update_depth(&dc->maxdepth, maxdepth); update_depth(&dc->maxdepth, maxdepth);
if (maxdepth > dive->maxdepth.mm) if (maxdepth > dive->maxdepth.mm)