summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Curley <charlescurley@charlescurley.com>2018-10-21 17:21:01 -0600
committerCharles Curley <charlescurley@charlescurley.com>2018-10-21 17:21:01 -0600
commitc512d1ddf49250932101f9d3b0f3e87c5928be8a (patch)
tree88ecb6a22adbe8f4fbefa0b4aef9f1b50a84c186
parentf6db3ba495964985a0e7ddddaec6a8e070d70d85 (diff)
downloadnavit-c512d1ddf49250932101f9d3b0f3e87c5928be8a.tar.gz
Upgrade vehicle:gpsd. Upgrading the API for gpsd version 3.18 and higher. Recommend you use 3.18.1, not 3.18. This change should be transparent to all.
It might be nice if we could detect gpsd versions at run time, but that's for later if ever. modified: navit/vehicle/gpsd/vehicle_gpsd.c
-rw-r--r--navit/vehicle/gpsd/vehicle_gpsd.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/navit/vehicle/gpsd/vehicle_gpsd.c b/navit/vehicle/gpsd/vehicle_gpsd.c
index 95324f324..4746b2195 100644
--- a/navit/vehicle/gpsd/vehicle_gpsd.c
+++ b/navit/vehicle/gpsd/vehicle_gpsd.c
@@ -325,7 +325,11 @@ static void vehicle_gpsd_io(struct vehicle_priv *priv) {
int read_result;
/* Read until EOF, in case we are lagging behind.
* No point in processing old GPS reports. */
+#if GPSD_API_MAJOR_VERSION >= 7 /* API change. gpsd verion 3.18 and subsequent. */
+ while((read_result=gps_read(priv->gps,NULL,0))>0);
+#else /* GPSD_API_MAJOR_VERSION >= 7 */
while((read_result=gps_read(priv->gps))>0);
+#endif /* GPSD_API_MAJOR_VERSION >= 7 */
if(read_result==-1) {
dbg(lvl_error,"gps_poll failed");
vehicle_gpsd_close(priv);
@@ -335,13 +339,13 @@ static void vehicle_gpsd_io(struct vehicle_priv *priv) {
buf = gps_data(priv->gps);
vehicle_gpsd_callback(priv->gps,buf,strlen(buf));
}
-#else
+#else /* GPSD_API_MAJOR_VERSION >= 5 */
if (gps_poll(priv->gps)) {
dbg(lvl_error,"gps_poll failed");
vehicle_gpsd_close(priv);
vehicle_gpsd_open(priv);
}
-#endif
+#endif /* GPSD_API_MAJOR_VERSION >= 5 */
}
}