diff options
author | Jon Schlueter <jon.schlueter@gmail.com> | 2011-02-22 19:42:38 -0500 |
---|---|---|
committer | Jon Schlueter <jon.schlueter@gmail.com> | 2011-02-22 19:47:01 -0500 |
commit | b78a943e0b630a4e645b2a90fc5c6bd6f2d50c83 (patch) | |
tree | 135b86de048bc0720c7df7bf52343e855247a5ab /driver_nmea.c | |
parent | 1ea5a5842b8615d3a8c0c0f8be4cead0f50e89dc (diff) | |
download | gpsd-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.c | 10 |
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", |