From 06bbf9f4c8a0f99a44363d7ebadc978cf0072cfc Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 14 Feb 2015 17:50:48 -0800 Subject: [PATCH] Use C API for printGPSCoords This way we can call this helper from both C and C++ code. Signed-off-by: Dirk Hohndel --- qthelper.cpp | 6 +++--- qthelper.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/qthelper.cpp b/qthelper.cpp index 902dc5e6d..8d4703b0a 100644 --- a/qthelper.cpp +++ b/qthelper.cpp @@ -31,7 +31,7 @@ QString weight_string(int weight_in_grams) return (str); } -QString printGPSCoords(int lat, int lon) +extern "C" const char *printGPSCoords(int lat, int lon) { unsigned int latdeg, londeg; unsigned int latmin, lonmin; @@ -39,7 +39,7 @@ QString printGPSCoords(int lat, int lon) QString lath, lonh, result; if (!lat && !lon) - return QString(); + return strdup(""); lath = lat >= 0 ? translate("gettextFromC", "N") : translate("gettextFromC", "S"); lonh = lon >= 0 ? translate("gettextFromC", "E") : translate("gettextFromC", "W"); @@ -54,7 +54,7 @@ QString printGPSCoords(int lat, int lon) result.sprintf("%u%s%02d\'%06.3f\"%s %u%s%02d\'%06.3f\"%s", latdeg, UTF8_DEGREE, latmin / 1000000, latsec / 1000000, lath.toUtf8().data(), londeg, UTF8_DEGREE, lonmin / 1000000, lonsec / 1000000, lonh.toUtf8().data()); - return result; + return strdup(result.toUtf8().data()); } static bool parseCoord(const QString& txt, int& pos, const QString& positives, diff --git a/qthelper.h b/qthelper.h index ccc57bc93..a367a9dac 100644 --- a/qthelper.h +++ b/qthelper.h @@ -13,7 +13,7 @@ extern QTranslator *qtTranslator, *ssrfTranslator; QString weight_string(int weight_in_grams); bool gpsHasChanged(struct dive *dive, struct dive *master, const QString &gps_text, bool *parsed_out = 0); -QString printGPSCoords(int lat, int lon); +extern "C" const char *printGPSCoords(int lat, int lon); QList getDivesInTrip(dive_trip_t *trip); QString gasToStr(struct gasmix gas);