diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2010-12-20 04:56:57 -0500 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2010-12-20 04:56:57 -0500 |
commit | bcea2a19a631a149839025c42629465e7ba63b9c (patch) | |
tree | cf71c60d698bc850b67e8effddfe5378fb708df6 /driver_evermore.c | |
parent | 07d0ac7220b760dc78eac593f73a508a23bbad71 (diff) | |
download | gpsd-bcea2a19a631a149839025c42629465e7ba63b9c.tar.gz |
Insert GPS week rollover checks everywhere we rely on GPS time.
All regression tests pass.
Diffstat (limited to 'driver_evermore.c')
-rw-r--r-- | driver_evermore.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/driver_evermore.c b/driver_evermore.c index e035b77b..97c7629f 100644 --- a/driver_evermore.c +++ b/driver_evermore.c @@ -184,6 +184,7 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf, gpstime_to_unix(session->context->gps_week, session->context->gps_tow) - session->context->leap_seconds; + gpsd_rollover_check(session, session->newdata.time); /*@ end @*/ ecef_to_wgs84fix(&session->newdata, &session->gpsdata.separation, getlesl(buf2, 8) * 1.0, getlesl(buf2, 12) * 1.0, @@ -224,6 +225,7 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf, gpstime_to_unix(session->context->gps_week, session->context->gps_tow) - session->context->leap_seconds; + gpsd_rollover_check(session, session->newdata.time); /*@ end @*/ /* * We make a deliberate choice not to clear DOPs from the @@ -273,6 +275,7 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf, gpstime_to_unix(session->context->gps_week, session->context->gps_tow) - session->context->leap_seconds; + gpsd_rollover_check(session, session->gpsdata.skyview_time); /*@ end @*/ session->gpsdata.satellites_visible = (int)getub(buf2, 8); gpsd_zero_satellites(&session->gpsdata); @@ -333,6 +336,7 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf, gpstime_to_unix(session->context->gps_week, session->context->gps_tow) - session->context->leap_seconds; + gpsd_rollover_check(session, session->newdata.time); /*@ end @*/ visible = (unsigned char)getub(buf2, 10); /* |