mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-17 21:26:16 +00:00
Dive site: use pointer instead of uuid in uemis_helper
Another small step in removing dive-site UUIDs: use a pointer instead of a UUID in the "uemis_helper" structure. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
64f0902e0d
commit
d674c5028f
3 changed files with 8 additions and 7 deletions
|
@ -992,8 +992,9 @@ static bool process_raw_buffer(device_data_t *devdata, uint32_t deviceid, char *
|
||||||
} else if (!is_log && dive && !strcmp(tag, "divespot_id")) {
|
} else if (!is_log && dive && !strcmp(tag, "divespot_id")) {
|
||||||
int divespot_id = atoi(val);
|
int divespot_id = atoi(val);
|
||||||
if (divespot_id != -1) {
|
if (divespot_id != -1) {
|
||||||
dive->dive_site_uuid = create_dive_site("from Uemis", dive->when)->uuid;
|
struct dive_site *ds = create_dive_site("from Uemis", dive->when);
|
||||||
uemis_mark_divelocation(dive->dc.diveid, divespot_id, dive->dive_site_uuid);
|
dive->dive_site_uuid = ds->uuid;
|
||||||
|
uemis_mark_divelocation(dive->dc.diveid, divespot_id, ds);
|
||||||
}
|
}
|
||||||
#if UEMIS_DEBUG & 2
|
#if UEMIS_DEBUG & 2
|
||||||
fprintf(debugfile, "Created divesite %d for diveid : %d\n", dive->dive_site_uuid, dive->dc.diveid);
|
fprintf(debugfile, "Created divesite %d for diveid : %d\n", dive->dive_site_uuid, dive->dc.diveid);
|
||||||
|
|
|
@ -101,7 +101,7 @@ struct uemis_helper {
|
||||||
uint32_t diveid;
|
uint32_t diveid;
|
||||||
int lbs;
|
int lbs;
|
||||||
int divespot;
|
int divespot;
|
||||||
int dive_site_uuid;
|
struct dive_site *dive_site;
|
||||||
struct uemis_helper *next;
|
struct uemis_helper *next;
|
||||||
};
|
};
|
||||||
static struct uemis_helper *uemis_helper = NULL;
|
static struct uemis_helper *uemis_helper = NULL;
|
||||||
|
@ -146,11 +146,11 @@ int uemis_get_weight_unit(uint32_t diveid)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void uemis_mark_divelocation(int diveid, int divespot, uint32_t dive_site_uuid)
|
void uemis_mark_divelocation(int diveid, int divespot, struct dive_site *ds)
|
||||||
{
|
{
|
||||||
struct uemis_helper *hp = uemis_get_helper(diveid);
|
struct uemis_helper *hp = uemis_get_helper(diveid);
|
||||||
hp->divespot = divespot;
|
hp->divespot = divespot;
|
||||||
hp->dive_site_uuid = dive_site_uuid;
|
hp->dive_site = ds;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* support finding a dive spot based on the diveid */
|
/* support finding a dive spot based on the diveid */
|
||||||
|
@ -170,7 +170,7 @@ void uemis_set_divelocation(int divespot, char *text, double longitude, double l
|
||||||
struct uemis_helper *hp = uemis_helper;
|
struct uemis_helper *hp = uemis_helper;
|
||||||
while (hp) {
|
while (hp) {
|
||||||
if (hp->divespot == divespot) {
|
if (hp->divespot == divespot) {
|
||||||
struct dive_site *ds = get_dive_site_by_uuid(hp->dive_site_uuid);
|
struct dive_site *ds = hp->dive_site;
|
||||||
if (ds) {
|
if (ds) {
|
||||||
ds->name = strdup(text);
|
ds->name = strdup(text);
|
||||||
ds->location = create_location(latitude, longitude);
|
ds->location = create_location(latitude, longitude);
|
||||||
|
|
|
@ -15,7 +15,7 @@ extern "C" {
|
||||||
|
|
||||||
void uemis_parse_divelog_binary(char *base64, void *divep);
|
void uemis_parse_divelog_binary(char *base64, void *divep);
|
||||||
int uemis_get_weight_unit(uint32_t diveid);
|
int uemis_get_weight_unit(uint32_t diveid);
|
||||||
void uemis_mark_divelocation(int diveid, int divespot, uint32_t dive_site_uuid);
|
void uemis_mark_divelocation(int diveid, int divespot, struct dive_site *ds);
|
||||||
void uemis_set_divelocation(int divespot, char *text, double longitude, double latitude);
|
void uemis_set_divelocation(int divespot, char *text, double longitude, double latitude);
|
||||||
int uemis_get_divespot_id_by_diveid(uint32_t diveid);
|
int uemis_get_divespot_id_by_diveid(uint32_t diveid);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue