summaryrefslogtreecommitdiffstats
path: root/uemis-downloader.c
diff options
context:
space:
mode:
authorGravatar Guido Lerch <guido.lerch@gmail.com>2015-09-05 11:00:54 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-09-05 11:27:50 -0700
commit8647f959534396e1ee6d0685908ba9801afb646b (patch)
tree1381fa98b2c1150e97aac5507bbe259ccb26a233 /uemis-downloader.c
parenta547ee0ff2044637d2cf300655b509616b49bac1 (diff)
downloadsubsurface-8647f959534396e1ee6d0685908ba9801afb646b.tar.gz
Uemis downloader: fix and move helper function
This function is only used in the Uemis downloader, and it got broken when we switched to using a separate table for the downloaded dives. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'uemis-downloader.c')
-rw-r--r--uemis-downloader.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/uemis-downloader.c b/uemis-downloader.c
index 8c912d4cf..340daee60 100644
--- a/uemis-downloader.c
+++ b/uemis-downloader.c
@@ -126,6 +126,15 @@ static struct dive *uemis_start_dive(uint32_t deviceid)
return dive;
}
+static struct dive *get_dive_by_uemis_diveid(device_data_t *devdata, u_int32_t object_id)
+{
+ for (int i = 0; i < devdata->download_table->nr; i++) {
+ if (object_id == devdata->download_table->dives[i]->dc.diveid)
+ return devdata->download_table->dives[i];
+ }
+ return NULL;
+}
+
static void record_uemis_dive(device_data_t *devdata, struct dive *dive)
{
if (devdata->create_new_trip) {
@@ -817,7 +826,7 @@ static bool process_raw_buffer(device_data_t *devdata, uint32_t deviceid, char *
dive->number = atoi(val);
} else if (!log && !strcmp(tag, "logfilenr")) {
/* this one tells us which dive we are adding data to */
- dive = get_dive_by_uemis_diveid(atoi(val), deviceid);
+ dive = get_dive_by_uemis_diveid(devdata, atoi(val));
if (for_dive)
*for_dive = atoi(val);
} else if (!log && dive && !strcmp(tag, "divespot_id")) {