summaryrefslogtreecommitdiffstats
path: root/core/qthelper.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-03-25 09:05:47 +0100
committerGravatar Robert C. Helling <helling@atdotde.de>2019-03-27 13:58:15 +0100
commit40a3e562b01de2827fa6c2c5fd9d46631f91dc36 (patch)
tree194fa05c48b087220cabd206125cc82eaf439d0d /core/qthelper.cpp
parent04593e8ec4bac2606dec54605c72a6a49cc83f9b (diff)
downloadsubsurface-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.cpp11
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));
}
/**