From 1b548c071b50a8576e0a23125b95748c42d6d0ef Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Tue, 12 Feb 2013 12:34:22 -0800 Subject: 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 --- dive.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/dive.c b/dive.c index 7db239584..528172a40 100644 --- a/dive.c +++ b/dive.c @@ -661,14 +661,15 @@ static void fixup_dive_dc(struct dive *dive, struct divecomputer *dc) asc_desc_time = duration/2; dc->meandepth.mm = depth*(duration-asc_desc_time)/duration; - return; - } - - update_duration(&dc->duration, end - start); - if (start != end) - depthtime /= (end - start); + if (depth > maxdepth) + maxdepth = depth; + } else { + update_duration(&dc->duration, end - start); + if (start != end) + depthtime /= (end - start); - update_depth(&dc->meandepth, depthtime); + update_depth(&dc->meandepth, depthtime); + } update_temperature(&dc->watertemp, mintemp); update_depth(&dc->maxdepth, maxdepth); if (maxdepth > dive->maxdepth.mm) -- cgit v1.2.3-70-g09d2