Path: blob/main/astro/foxtrotgps/files/patch-src_gps__functions.c
16461 views
--- src/gps_functions.c.orig 2019-07-10 05:35:12 UTC1+++ src/gps_functions.c2@@ -729,6 +729,11 @@ cb_gpsd_io_error(GIOChannel *src, GIOCondition conditi3}456+static double7+timespec_to_double(struct timespec ts)8+{9+ return ((double)(ts.tv_sec) + ((double)(ts.tv_nsec) / 1e9));10+}1112static gboolean13cb_gpsd_data(GIOChannel *src, GIOCondition condition, gpointer data)14@@ -753,12 +758,16 @@ cb_gpsd_data(GIOChannel *src, GIOCondition condition,15{16gpsdata->satellites_used = libgps_gpsdata.satellites_used;17gpsdata->hdop = libgps_gpsdata.dop.hdop;18- gpsdata->fix.time = libgps_gpsdata.fix.time;19+ gpsdata->fix.time = timespec_to_double(libgps_gpsdata.fix.time);20if (isnan(gpsdata->fix.time))21{22gpsdata->fix.time = (time_t) 0;23}24+#if GPSD_API_MAJOR_VERSION >= 1025+ gpsdata->valid = (libgps_gpsdata.fix.status != STATUS_UNK);26+#else27gpsdata->valid = (libgps_gpsdata.status != STATUS_NO_FIX);28+#endif29if (gpsdata->valid)30{31gpsdata->seen_valid = TRUE;323334