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_italk.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_italk.c')
-rw-r--r-- | driver_italk.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/driver_italk.c b/driver_italk.c index 8f80699f..df9674b7 100644 --- a/driver_italk.c +++ b/driver_italk.c @@ -61,6 +61,7 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session, t = gpstime_to_unix((int)gps_week, session->context->gps_tow) - session->context->leap_seconds; session->newdata.time = t; + gpsd_rollover_check(session, session->newdata.time); mask |= TIME_IS; epx = (double)(getlesl(buf, 7 + 96) / 100.0); @@ -136,6 +137,7 @@ static gps_mask_t decode_itk_prnstatus(struct gps_device_t *session, t = gpstime_to_unix((int)gps_week, session->context->gps_tow) - session->context->leap_seconds; session->gpsdata.skyview_time = t; + gpsd_rollover_check(session, session->gpsdata.skyview_time); gpsd_zero_satellites(&session->gpsdata); nsv = 0; @@ -201,6 +203,7 @@ static gps_mask_t decode_itk_utcionomodel(struct gps_device_t *session, t = gpstime_to_unix((int)gps_week, session->context->gps_tow) - session->context->leap_seconds; session->newdata.time = t; + gpsd_rollover_check(session, session->newdata.time); gpsd_report(LOG_DATA, "UTC_IONO_MODEL: time=%.2f mask={TIME}\n", @@ -272,6 +275,8 @@ static gps_mask_t decode_itk_pseudo(struct gps_device_t *session, session->context->gps_tow = tow / 1000.0; t = gpstime_to_unix((int)gps_week, session->context->gps_tow) - session->context->leap_seconds; + session->newdata.time = t; + gpsd_rollover_check(session, session->newdata.time); /*@-type@*/ for (i = 0; i < n; i++){ |