diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2006-02-20 15:33:27 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2006-02-20 15:33:27 +0000 |
commit | 23ff4bd8f80dc3b35f0ad777cb51b7e59435c487 (patch) | |
tree | ecd6349f1ffc593d03afb0d4a48fe67841695875 /drivers.c | |
parent | 05ebb1147e2473f3608aa32c6234384c9c5ebbf7 (diff) | |
download | gpsd-23ff4bd8f80dc3b35f0ad777cb51b7e59435c487.tar.gz |
Merged in improved timekeeping patch passed on by Rob Janssen.
Diffstat (limited to 'drivers.c')
-rw-r--r-- | drivers.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -65,9 +65,13 @@ gps_mask_t nmea_parse_input(struct gps_device_t *session) gpsd_report(1, "unknown sentence: \"%s\"\n", session->outbuffer); } #ifdef NTPSHM_ENABLE - if ((st & TIME_SET) != 0) - /* this magic number is derived from observation */ - (void)ntpshm_put(session, session->gpsdata.fix.time + 0.675); + /* this magic number is derived from observation */ + if ((st & TIME_SET) != 0 && + (session->gpsdata.fix.time != session->driver.nmea.last_fixtime)) { + /* this magic number is derived from observation */ + (void)ntpshm_put(session, session->gpsdata.fix.time + 0.675); + session->driver.nmea.last_fixtime = session->gpsdata.fix.time; + } #endif /* NTPSHM_ENABLE */ return st; } else |