diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-20 14:12:15 -0400 |
---|---|---|
committer | Lubomir I. Ivanov <neolit123@gmail.com> | 2018-10-21 19:55:09 +0300 |
commit | 28e3413ff66552f392fecee25068d634cdfe59fc (patch) | |
tree | 5fe303d1e7dc1c371e13b534b85c232e29aea884 /smtk-import/smartrak.c | |
parent | c9869406301ff72f76b399097f0845fc1102ced1 (diff) | |
download | subsurface-28e3413ff66552f392fecee25068d634cdfe59fc.tar.gz |
Add 'location_t' data structure
Instead of having people treat latitude and longitude as separate
things, just add a 'location_t' data structure that contains both.
Almost all cases want to always act on them together.
This is really just prep-work for adding a few more locations that we
track: I want to add a entry/exit location to each dive (independent of
the dive site) because of how the Garmin Descent gives us the
information (and hopefully, some day, other dive computers too).
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'smtk-import/smartrak.c')
-rw-r--r-- | smtk-import/smartrak.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/smtk-import/smartrak.c b/smtk-import/smartrak.c index 20f0d617b..fce89dbae 100644 --- a/smtk-import/smartrak.c +++ b/smtk-import/smartrak.c @@ -323,7 +323,7 @@ static void smtk_build_location(MdbHandle *mdb, char *idx, timestamp_t when, uin int i; uint32_t d; struct dive_site *ds; - degrees_t lat, lon; + location_t loc; char *str = NULL, *loc_idx = NULL, *site = NULL, *notes = NULL; const char *site_fields[] = {QT_TRANSLATE_NOOP("gettextFromC", "Altitude"), QT_TRANSLATE_NOOP("gettextFromC", "Depth"), QT_TRANSLATE_NOOP("gettextFromC", "Notes")}; @@ -337,8 +337,7 @@ static void smtk_build_location(MdbHandle *mdb, char *idx, timestamp_t when, uin mdb_fetch_row(table); loc_idx = copy_string(col[2]->bind_ptr); site = copy_string(col[1]->bind_ptr); - lat.udeg = lrint(strtod(col[6]->bind_ptr, NULL) * 1000000); - lon.udeg = lrint(strtod(col[7]->bind_ptr, NULL) * 1000000); + loc = create_location(strtod(col[6]->bind_ptr, NULL), strtod(col[7]->bind_ptr, NULL)); for (i = 8; i < 11; i++) { switch (i) { @@ -376,10 +375,10 @@ static void smtk_build_location(MdbHandle *mdb, char *idx, timestamp_t when, uin *location = get_dive_site_uuid_by_name(str, NULL); if (*location == 0) { - if (lat.udeg == 0 && lon.udeg == 0) + if (!has_location(&loc)) *location = create_dive_site(str, when); else - *location = create_dive_site_with_gps(str, lat, lon, when); + *location = create_dive_site_with_gps(str, &loc, when); } smtk_free(bound_values, table->num_cols); |