mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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>
This commit is contained in:
parent
04593e8ec4
commit
40a3e562b0
11 changed files with 24 additions and 39 deletions
|
@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue