diff options
author | Gary E. Miller <gem@rellim.com> | 2019-03-13 18:55:16 -0700 |
---|---|---|
committer | Gary E. Miller <gem@rellim.com> | 2019-03-13 18:55:16 -0700 |
commit | 3bab25ef5b820217590f4a3cf2ec5554848465f5 (patch) | |
tree | c4dc8db820d16dbc57f0207878d09db9ab0a7369 /pseudonmea.c | |
parent | 41757d5898172baaa43e2d99f854d90633db73ad (diff) | |
download | gpsd-3bab25ef5b820217590f4a3cf2ec5554848465f5.tar.gz |
pseudonmea: DO not ouput $GPZDA with no valid date.
No regressions change.d
Diffstat (limited to 'pseudonmea.c')
-rw-r--r-- | pseudonmea.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pseudonmea.c b/pseudonmea.c index f7e14e9b..6c8c6a30 100644 --- a/pseudonmea.c +++ b/pseudonmea.c @@ -267,6 +267,7 @@ static void gpsd_binary_quality_dump(struct gps_device_t *session, } } +/* Dump $GPZDA if we have time and a fix */ static void gpsd_binary_time_dump(struct gps_device_t *session, char bufp[], size_t len) { @@ -274,7 +275,9 @@ static void gpsd_binary_time_dump(struct gps_device_t *session, double integral; time_t integral_time; - if (session->newdata.mode > MODE_NO_FIX) { + if (MODE_NO_FIX < session->newdata.mode && + 0 != isfinite(session->gpsdata.fix.time)) { + double fractional = modf(session->newdata.time, &integral); integral_time = (time_t) integral; (void)gmtime_r(&integral_time, &tm); |