From c0cbafdc939cb9141c33b1c0e836bba8144dd467 Mon Sep 17 00:00:00 2001 From: glerch Date: Thu, 10 Sep 2015 16:05:16 +0200 Subject: [PATCH] Uemis downloader: new find divespot by diveid New routine to support finding a dive spot based on the dive id, this is needed due to the weird way Uemis is providing data. This function will be used in the uemis-downloader.c within do_uemis_import. Signed-off-by: glerch Signed-off-by: Dirk Hohndel --- uemis.c | 12 ++++++++++++ uemis.h | 1 + 2 files changed, 13 insertions(+) diff --git a/uemis.c b/uemis.c index e60e94a00..1c592832a 100644 --- a/uemis.c +++ b/uemis.c @@ -155,6 +155,18 @@ void uemis_mark_divelocation(int diveid, int divespot, uint32_t dive_site_uuid) hp->dive_site_uuid = dive_site_uuid; } +/* support finding a dive spot based on the diveid */ +int uemis_get_divespot_id_by_diveid(uint32_t diveid) +{ + struct uemis_helper *hp = uemis_helper; + while(hp) { + if (hp->diveid == diveid) + return hp->divespot; + hp = hp->next; + } + return 0; +} + void uemis_set_divelocation(int divespot, char *text, double longitude, double latitude) { struct uemis_helper *hp = uemis_helper; diff --git a/uemis.h b/uemis.h index d19f293de..90ae99028 100644 --- a/uemis.h +++ b/uemis.h @@ -17,6 +17,7 @@ int uemis_get_weight_unit(int diveid); void uemis_mark_divelocation(int diveid, int divespot, uint32_t dive_site_uuid); void uemis_set_divelocation(int divespot, char *text, double longitude, double latitude); void uemis_set_max_diveid_from_dialog(int diveid); +int uemis_get_divespot_id_by_diveid(uint32_t diveid); typedef struct {