From ee2f4664705e139e90b28351f4d76a3e5fbab12d Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Sun, 6 Sep 2020 13:48:52 +0200 Subject: cleanup: use taxonomy_get_value() instead of taxonomy_get_index() Instead of getting the index and using that to access values, use the taxonomy_get_value() helper function. Two places are affected: 1) reverse geo-lookup 2) location filter delegate The behavior of reverse geo-lookup is changed slightly: now an empty string is likewise recognized as missing "TC_ADMIN_L3". Before, only a missing category was interpreted as such. Signed-off-by: Berthold Stoeger --- core/divesitehelpers.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'core/divesitehelpers.cpp') diff --git a/core/divesitehelpers.cpp b/core/divesitehelpers.cpp index cdc4bcdc3..bb4764274 100644 --- a/core/divesitehelpers.cpp +++ b/core/divesitehelpers.cpp @@ -114,13 +114,13 @@ taxonomy_data reverseGeoLookup(degrees_t latitude, degrees_t longitude) taxonomy_set_category(&taxonomy, (taxonomy_category)idx, qPrintable(value), taxonomy_origin::GEOCODED); } } - int l3 = taxonomy_index_for_category(&taxonomy, TC_ADMIN_L3); - int lt = taxonomy_index_for_category(&taxonomy, TC_LOCALNAME); - if (l3 == -1 && lt != -1) { + const char *l3 = taxonomy_get_value(&taxonomy, TC_ADMIN_L3); + const char *lt = taxonomy_get_value(&taxonomy, TC_LOCALNAME); + if (empty_string(l3) && !empty_string(lt)) { // basically this means we did get a local name (what we call town), but just like most places // we didn't get an adminName_3 - which in some regions is the actual city that town belongs to, // then we copy the town into the city - taxonomy_set_category(&taxonomy, TC_ADMIN_L3, taxonomy.category[lt].value, taxonomy_origin::GEOCOPIED); + taxonomy_set_category(&taxonomy, TC_ADMIN_L3, lt, taxonomy_origin::GEOCOPIED); } } else { report_error("geonames.org did not provide reverse lookup information"); -- cgit v1.2.3-70-g09d2