summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
authorMick Durkin <mick.durkin@saunalahti.fi>2007-12-06 12:01:51 +0000
committerMick Durkin <mick.durkin@saunalahti.fi>2007-12-06 12:01:51 +0000
commitc888def521a2a259cbf7b6018638f49ac15320ec (patch)
treef710575a11c18cdffa2b51906247ad6dba319163 /libgpsd_core.c
parentd32771c3ccfb6c950e25b2bcb8c6034978a9c4c9 (diff)
downloadgpsd-c888def521a2a259cbf7b6018638f49ac15320ec.tar.gz
Allow for the situation where a fix message is generated...
...which has set the status to STATUS_NO_FIX. This can happen with a gps device which generates regular fix messages, even when the signal is unusable.
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index e4902ebd..5c5e6c66 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -749,9 +749,9 @@ gps_mask_t gpsd_poll(struct gps_device_t *session)
* here, but that wasn't quite right. That tells us whether
* we think we have a valid fix for the current cycle, but remains
* true while following non-fix packets are received. What we
- * really want to know is whether the last packet received held a fix.
+ * really want to know is whether the last packet received also held a fix.
*/
- if ((session->gpsdata.set & LATLON_SET)!=0)
+ if ((session->gpsdata.set & LATLON_SET )!=0 && session->gpsdata.status > STATUS_NO_FIX)
session->context->fixcnt++;
session->gpsdata.d_decode_time = timestamp();