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_sirf.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_sirf.c')
-rw-r--r-- | driver_sirf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/driver_sirf.c b/driver_sirf.c index 449fd0b0..9895b7db 100644 --- a/driver_sirf.c +++ b/driver_sirf.c @@ -475,6 +475,7 @@ static gps_mask_t sirf_msg_svinfo(struct gps_device_t *session, = gpstime_to_unix(session->context->gps_week, session->context->gps_tow) - session->context->leap_seconds; + gpsd_rollover_check(session, session->gpsdata.skyview_time); /*@ end @*/ for (i = st = 0; i < SIRF_CHANNELS; i++) { int off = 8 + 15 * i; @@ -631,8 +632,9 @@ static gps_mask_t sirf_msg_navsol(struct gps_device_t *session, /*@ ignore @*//*@ splint is confused @ */ session->newdata.time = gpstime_to_unix(session->context->gps_week, - session->context->gps_tow) - - session->context->leap_seconds; + session->context->gps_tow) + - session->context->leap_seconds; + gpsd_rollover_check(session, session->newdata.time); /*@ end @*/ #ifdef NTPSHM_ENABLE if (session->newdata.mode <= MODE_NO_FIX) { |