summaryrefslogtreecommitdiff
path: root/driver_nmea.c
diff options
context:
space:
mode:
authorJon Schlueter <jon.schlueter@gmail.com>2011-02-22 19:42:38 -0500
committerJon Schlueter <jon.schlueter@gmail.com>2011-02-22 19:47:01 -0500
commitb78a943e0b630a4e645b2a90fc5c6bd6f2d50c83 (patch)
tree135b86de048bc0720c7df7bf52343e855247a5ab /driver_nmea.c
parent1ea5a5842b8615d3a8c0c0f8be4cead0f50e89dc (diff)
downloadgpsd-b78a943e0b630a4e645b2a90fc5c6bd6f2d50c83.tar.gz
add return codes when parsing partial GSV packets
was seeing unrecognized sentence on the first 2 of the 3 GSV sentences investigated and fount it was returning 0 instead of ONLINE_IS where appropiate
Diffstat (limited to 'driver_nmea.c')
-rw-r--r--driver_nmea.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/driver_nmea.c b/driver_nmea.c
index a6e65f22..3fc45979 100644
--- a/driver_nmea.c
+++ b/driver_nmea.c
@@ -542,21 +542,21 @@ static gps_mask_t processGPGSV(int count, char *field[],
count);
gpsd_zero_satellites(&session->gpsdata);
session->gpsdata.satellites_visible = 0;
- return 0;
+ return ONLINE_IS;
}
if (count % 4 != 0) {
gpsd_report(LOG_WARN, "malformed GPGSV - fieldcount %d %% 4 != 0\n",
count);
gpsd_zero_satellites(&session->gpsdata);
session->gpsdata.satellites_visible = 0;
- return 0;
+ return ONLINE_IS;
}
session->driver.nmea.await = atoi(field[1]);
if (sscanf(field[2], "%d", &session->driver.nmea.part) < 1) {
gpsd_report(LOG_WARN, "malformed GPGSV - bad part\n");
gpsd_zero_satellites(&session->gpsdata);
- return 0;
+ return ONLINE_IS;
} else if (session->driver.nmea.part == 1)
gpsd_zero_satellites(&session->gpsdata);
@@ -593,7 +593,7 @@ static gps_mask_t processGPGSV(int count, char *field[],
if (session->driver.nmea.part < session->driver.nmea.await) {
gpsd_report(LOG_PROG, "Partial satellite data (%d of %d).\n",
session->driver.nmea.part, session->driver.nmea.await);
- return 0;
+ return ONLINE_IS;
}
/*
* This sanity check catches an odd behavior of SiRFstarII receivers.
@@ -609,7 +609,7 @@ static gps_mask_t processGPGSV(int count, char *field[],
gpsd_report(LOG_WARN, "Satellite data no good (%d of %d).\n",
session->driver.nmea.part, session->driver.nmea.await);
gpsd_zero_satellites(&session->gpsdata);
- return 0;
+ return ONLINE_IS;
sane:
session->gpsdata.skyview_time = NAN;
gpsd_report(LOG_DATA, "GSV: Satellite data OK (%d of %d).\n",