blob: 659865efe1065d9fb3153745eed354a48a35b83b [file] [log] [blame]
Andrew Geisslere34f8962021-04-15 15:53:51 -05001From c9cec2a888d4fea8534be78a0f46d920155ceae6 Mon Sep 17 00:00:00 2001
2From: Paul Fertser <fercerpav@gmail.com>
3Date: Wed, 4 Nov 2020 12:40:50 -0800
4Subject: [PATCH] gpsd/dbusexport.c: Fix broken d-bus message time.
5
6Change-Id: I4b9990ce4517a8feb29fc9e090c62f5a0c56ddd5
7---
8 dbusexport.c | 4 +++-
9 1 file changed, 3 insertions(+), 1 deletion(-)
10
11diff --git a/dbusexport.c b/dbusexport.c
12index 40b35739e..5d08a8702 100644
13--- a/dbusexport.c
14+++ b/dbusexport.c
15@@ -38,6 +38,7 @@ void send_dbus_fix(struct gps_device_t *channel)
16 /*DBusMessageIter iter; */
17 dbus_uint32_t serial; /* collected, but not used */
18 char *gpsd_devname;
19+ double dtime; // time as a double, loss of precision!
20
21 /* if the connection is non existent, return without doing anything */
22 if (connection == NULL)
23@@ -51,8 +52,9 @@ void send_dbus_fix(struct gps_device_t *channel)
24 /* the dbus/locationd doc fails to specify altitude as WGS84 or MSL.
25 * assume altMSL */
26 message = dbus_message_new_signal("/org/gpsd", "org.gpsd", "fix");
27+ dtime = TSTONS(&gpsfix->time);
28 dbus_message_append_args(message,
29- DBUS_TYPE_DOUBLE, &(gpsfix->time),
30+ DBUS_TYPE_DOUBLE, &dtime,
31 DBUS_TYPE_INT32, &(gpsfix->mode),
32 DBUS_TYPE_DOUBLE, &(gpsfix->ept),
33 DBUS_TYPE_DOUBLE, &(gpsfix->latitude),
34--
352.20.1
36