summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeemu Ikonen <tpikonen@mailbox.org>2023-07-08 19:44:49 +0300
committerTeemu Ikonen <tpikonen@mailbox.org>2023-07-17 13:28:49 +0000
commit45752c02c4817e32ae0f49b872bf7c0247b3a44c (patch)
treec57d416ac38f331b7a8a062893bf7451adc32923
parent5c9c5c8a76c22ca9248b82a3a080b942b47be605 (diff)
location: Warn if NMEA coordinates are invalid
-rw-r--r--src/gclue-location.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gclue-location.c b/src/gclue-location.c
index 51cd056..b9e65aa 100644
--- a/src/gclue-location.c
+++ b/src/gclue-location.c
@@ -618,8 +618,10 @@ gclue_location_create_from_gga (const char *gga)
timestamp = parse_nmea_timestamp (parts[1]);
latitude = parse_coordinate_string (parts[2], parts[3]);
longitude = parse_coordinate_string (parts[4], parts[5]);
- if (latitude == INVALID_COORDINATE || longitude == INVALID_COORDINATE)
+ if (latitude == INVALID_COORDINATE || longitude == INVALID_COORDINATE) {
+ g_warning ("Invalid coordinate on NMEA GGA sentence.");
return NULL;
+ }
altitude = parse_altitude_string (parts[9], parts[10]);
@@ -663,8 +665,10 @@ gclue_location_create_from_rmc (const char *rmc,
gdouble lat = parse_coordinate_string (parts[3], parts[4]);
gdouble lon = parse_coordinate_string (parts[5], parts[6]);
- if (lat == INVALID_COORDINATE || lon == INVALID_COORDINATE)
+ if (lat == INVALID_COORDINATE || lon == INVALID_COORDINATE) {
+ g_warning ("Invalid coordinate on NMEA RMC sentence.");
return NULL;
+ }
gdouble speed = GCLUE_LOCATION_SPEED_UNKNOWN;
if (parts[7][0] != '\0')