diff options
author | Gary E. Miller <gem@rellim.com> | 2010-04-18 21:23:42 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2010-04-18 21:23:42 -0700 |
commit | 0e7ff3dcd0e44e9b0b556e1770cc55e6ac723d68 (patch) | |
tree | b9c4ce369c11e4b91714e1c3cd582e38fbae6ad6 /driver_sirf.c | |
parent | 948770e120fe7028ed0f65c539b9dda129ee2a31 (diff) | |
download | gpsd-0e7ff3dcd0e44e9b0b556e1770cc55e6ac723d68.tar.gz |
Eliminate a lot of private copies of gps_tow for one global copy in
sesion->context.
Diffstat (limited to 'driver_sirf.c')
-rw-r--r-- | driver_sirf.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/driver_sirf.c b/driver_sirf.c index 6d426ab1..2d2d676a 100644 --- a/driver_sirf.c +++ b/driver_sirf.c @@ -471,12 +471,12 @@ static gps_mask_t sirf_msg_svinfo(struct gps_device_t *session, gpsd_zero_satellites(&session->gpsdata); session->context->gps_week = getbesw(buf, 1); + session->context->gps_tow = getbeul(buf, 3) * 1e-2; /*@ ignore @*//*@ splint is confused @ */ session->gpsdata.skyview_time = - gpstime_to_unix( session->context->gps_week, - getbeul(buf, - 3) * 1e-2) - session->context->leap_seconds; + gpstime_to_unix( session->context->gps_week, session->context->gps_tow) + - session->context->leap_seconds; /*@ end @*/ for (i = st = 0; i < SIRF_CHANNELS; i++) { int off = 8 + 15 * i; @@ -614,9 +614,10 @@ static gps_mask_t sirf_msg_navsol(struct gps_device_t *session, /* byte 20 is HDOP, see below */ /* byte 21 is "mode 2", not clear how to interpret that */ session->context->gps_week = getbesw(buf, 22); + session->context->gps_tow = getbeul(buf, 24) * 1e-2; /*@ ignore @*//*@ splint is confused @ */ session->newdata.time = - gpstime_to_unix(getbesw(buf, 22), getbeul(buf, 24) * 1e-2) - + gpstime_to_unix(session->context->gps_week, session->context->gps_tow) - session->context->leap_seconds; /*@ end @*/ #ifdef NTPSHM_ENABLE |