summaryrefslogtreecommitdiff
path: root/driver_nmea0183.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2012-05-18 03:50:23 -0400
committerEric S. Raymond <esr@thyrsus.com>2012-05-18 03:50:23 -0400
commitc46e369a26bb693e744206979ee9d8674c27f1da (patch)
tree31b115597d41465c9e56b3960e0b4dc4d786751f /driver_nmea0183.c
parent16b646d8107ae677110353dd52639df9a9d3d213 (diff)
downloadgpsd-c46e369a26bb693e744206979ee9d8674c27f1da.tar.gz
Fix a cppcheck warning about possible field overflows.
All regression tests pass.
Diffstat (limited to 'driver_nmea0183.c')
-rw-r--r--driver_nmea0183.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/driver_nmea0183.c b/driver_nmea0183.c
index 6b46b0f2..5e6c84dd 100644
--- a/driver_nmea0183.c
+++ b/driver_nmea0183.c
@@ -27,7 +27,7 @@ static void do_lat_lon(char *field[], struct gps_fix_t *out)
if (*(p = field[0]) != '\0') {
(void)strlcpy(str, p, sizeof(str));
- (void)sscanf(p, "%lf", &lat);
+ lat = atof(str);
m = 100.0 * modf(lat / 100.0, &d);
lat = d + m / 60.0;
p = field[1];
@@ -37,7 +37,7 @@ static void do_lat_lon(char *field[], struct gps_fix_t *out)
}
if (*(p = field[2]) != '\0') {
(void)strlcpy(str, p, sizeof(str));
- (void)sscanf(p, "%lf", &lon);
+ lon = atof(str);
m = 100.0 * modf(lon / 100.0, &d);
lon = d + m / 60.0;
@@ -553,7 +553,7 @@ static gps_mask_t processGPGSV(int count, char *field[],
}
session->driver.nmea.await = atoi(field[1]);
- if (sscanf(field[2], "%d", &session->driver.nmea.part) < 1) {
+ if ((session->driver.nmea.part = atoi(field[2])) < 1) {
gpsd_report(LOG_WARN, "malformed GPGSV - bad part\n");
gpsd_zero_satellites(&session->gpsdata);
return ONLINE_SET;