mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Improve dive site creation from v2 git storage
Fix broken helper function, move helper functions into the .c file (there really wasn't a good reason for these to be inline), fix the logic that decides if we want to create a new dive site or use an existing one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
8c3efd2a22
commit
d2baa36312
3 changed files with 60 additions and 52 deletions
33
divesite.h
33
divesite.h
|
|
@ -45,40 +45,11 @@ static inline struct dive_site *get_dive_site_by_uuid(uint32_t uuid)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* there could be multiple sites of the same name - return the first one */
|
||||
static inline uint32_t get_dive_site_uuid_by_name(const char *name, struct dive_site **dsp)
|
||||
{
|
||||
int i;
|
||||
struct dive_site *ds;
|
||||
for_each_dive_site (i, ds) {
|
||||
if (ds->name == name) {
|
||||
if (dsp)
|
||||
*dsp = ds;
|
||||
return ds->uuid;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* there could be multiple sites at the same GPS fix - return the first one */
|
||||
static inline uint32_t get_dive_site_uuid_by_gps(degrees_t latitude, degrees_t longitude, struct dive_site **dsp)
|
||||
{
|
||||
int i;
|
||||
struct dive_site *ds;
|
||||
for_each_dive_site (i, ds) {
|
||||
if (ds->latitude.udeg == latitude.udeg && ds->longitude.udeg == longitude.udeg) {
|
||||
if (dsp)
|
||||
*dsp = ds;
|
||||
return ds->uuid;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct dive_site *alloc_dive_site();
|
||||
uint32_t create_dive_site(const char *name);
|
||||
uint32_t create_dive_site_with_gps(const char *name, degrees_t latitude, degrees_t longitude);
|
||||
struct dive_site *get_or_create_dive_site_by_uuid(uint32_t uuid);
|
||||
uint32_t get_dive_site_uuid_by_name(const char *name, struct dive_site **dsp);
|
||||
uint32_t get_dive_site_uuid_by_gps(degrees_t latitude, degrees_t longitude, struct dive_site **dsp);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue