diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-03-25 09:05:47 +0100 |
---|---|---|
committer | Robert C. Helling <helling@atdotde.de> | 2019-03-27 13:58:15 +0100 |
commit | 40a3e562b01de2827fa6c2c5fd9d46631f91dc36 (patch) | |
tree | 194fa05c48b087220cabd206125cc82eaf439d0d /core/qthelper.cpp | |
parent | 04593e8ec4bac2606dec54605c72a6a49cc83f9b (diff) | |
download | subsurface-40a3e562b01de2827fa6c2c5fd9d46631f91dc36.tar.gz |
Cleanup: provide printGPSCoords in C and C++ versions
printGPSCoords() returned a newly allocated C-style string. Most
callers simply made a QString out of it and freed the C-style string.
This is paradoxical, as printGPSCoords internally works with QStrings
and converts them to C-style on return.
Therefore, let printGPSCoords() return a QString and create a
printGPSCoordsC() wrapper for the two C-callers.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/qthelper.cpp')
-rw-r--r-- | core/qthelper.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp index 26a8a68f9..1a85d35a7 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -72,7 +72,7 @@ QString distance_string(int distanceInMeters) return str; } -extern "C" char *printGPSCoords(const location_t *location) +QString printGPSCoords(const location_t *location) { int lat = location->lat.udeg; int lon = location->lon.udeg; @@ -82,7 +82,7 @@ extern "C" char *printGPSCoords(const location_t *location) QString lath, lonh, result; if (!has_location(location)) - return strdup(""); + return QString(); if (prefs.coordinates_traditional) { lath = lat >= 0 ? gettextFromC::tr("N") : gettextFromC::tr("S"); @@ -101,7 +101,12 @@ extern "C" char *printGPSCoords(const location_t *location) } else { result.sprintf("%f %f", (double) lat / 1000000.0, (double) lon / 1000000.0); } - return copy_qstring(result); + return result; +} + +extern "C" char *printGPSCoordsC(const location_t *location) +{ + return copy_qstring(printGPSCoords(location)); } /** |