From 259e0ad6da910576d881a6ab9dfa7a2cb2e1302e Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Mon, 29 Nov 2021 10:18:22 +0000 Subject: [PATCH] Fix #1062 - Always use C locale for parsing coords in airport database --- plugins/channelrx/demodadsb/ourairportsdb.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/channelrx/demodadsb/ourairportsdb.h b/plugins/channelrx/demodadsb/ourairportsdb.h index f41e1a2ab..94ddec3df 100644 --- a/plugins/channelrx/demodadsb/ourairportsdb.h +++ b/plugins/channelrx/demodadsb/ourairportsdb.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -84,6 +85,7 @@ struct AirportInformation { FILE *file; QByteArray utfFilename = filename.toUtf8(); + QLocale cLocale(QLocale::C); if ((file = fopen(utfFilename.constData(), "r")) != NULL) { char row[2048]; @@ -170,21 +172,21 @@ struct AirportInformation { latitudeString = p; latitudeLen = strlen(latitudeString)-1; latitudeString[latitudeLen] = '\0'; - latitude = atof(latitudeString); + latitude = cLocale.toFloat(latitudeString); } else if (idx == longitudeCol) { longitudeString = p; longitudeLen = strlen(longitudeString)-1; longitudeString[longitudeLen] = '\0'; - longitude = atof(longitudeString); + longitude = cLocale.toFloat(longitudeString); } else if (idx == elevationCol) { elevationString = p; elevationLen = strlen(elevationString)-1; elevationString[elevationLen] = '\0'; - elevation = atof(elevationString); + elevation = cLocale.toFloat(elevationString); } p = strtok(NULL, ","); idx++;