summaryrefslogtreecommitdiff
path: root/astro/viking/files/patch-src-vikgpslayer.c
diff options
context:
space:
mode:
Diffstat (limited to 'astro/viking/files/patch-src-vikgpslayer.c')
-rw-r--r--astro/viking/files/patch-src-vikgpslayer.c81
1 files changed, 0 insertions, 81 deletions
diff --git a/astro/viking/files/patch-src-vikgpslayer.c b/astro/viking/files/patch-src-vikgpslayer.c
deleted file mode 100644
index 8aafc3f98126..000000000000
--- a/astro/viking/files/patch-src-vikgpslayer.c
+++ /dev/null
@@ -1,81 +0,0 @@
---- src/vikgpslayer.c.orig 2011-03-22 22:23:24.000000000 +0300
-+++ src/vikgpslayer.c 2011-03-22 22:45:18.000000000 +0300
-@@ -1308,7 +1308,7 @@
-
- }
-
--static void gpsd_raw_hook(VglGpsd *vgpsd, gchar *data)
-+static void gpsd_raw_hook(VglGpsd *vgpsd)
- {
- gboolean update_all = FALSE;
- VikGpsLayer *vgl = vgpsd->vgl;
-@@ -1376,10 +1376,14 @@
- static gboolean gpsd_data_available(GIOChannel *source, GIOCondition condition, gpointer data)
- {
- VikGpsLayer *vgl = data;
-+ int nread;
-+
- if (condition == G_IO_IN) {
-- if (!gps_poll(&vgl->vgpsd->gpsd))
-+ if ((nread = gps_read(&vgl->vgpsd->gpsd)) >= 0) {
-+ if (nread)
-+ gpsd_raw_hook(vgl->vgpsd);
- return TRUE;
-- else {
-+ } else {
- g_warning("Disconnected from gpsd. Trying to reconnect");
- rt_gpsd_disconnect(vgl);
- rt_gpsd_connect(vgl, FALSE);
-@@ -1407,23 +1411,15 @@
- static gboolean rt_gpsd_try_connect(gpointer *data)
- {
- VikGpsLayer *vgl = (VikGpsLayer *)data;
--#ifndef HAVE_GPS_OPEN_R
-- struct gps_data_t *gpsd = gps_open(vgl->gpsd_host, vgl->gpsd_port);
-
-- if (gpsd == NULL) {
--#else
- vgl->vgpsd = g_malloc(sizeof(VglGpsd));
-
-- if (gps_open_r(vgl->gpsd_host, vgl->gpsd_port, /*(struct gps_data_t *)*/vgl->vgpsd) != 0) {
--#endif
-+ if (gps_open(vgl->gpsd_host, vgl->gpsd_port, (struct gps_data_t *)vgl->vgpsd) != 0) {
- g_warning("Failed to connect to gpsd at %s (port %s). Will retry in %d seconds",
- vgl->gpsd_host, vgl->gpsd_port, vgl->gpsd_retry_interval);
- return TRUE; /* keep timer running */
- }
-
--#ifndef HAVE_GPS_OPEN_R
-- vgl->vgpsd = realloc(gpsd, sizeof(VglGpsd));
--#endif
- vgl->vgpsd->vgl = vgl;
-
- vgl->realtime_fix.dirty = vgl->last_fix.dirty = FALSE;
-@@ -1439,15 +1435,10 @@
- vik_trw_layer_add_track(vtl, vgl->realtime_track_name, vgl->realtime_track);
- }
-
-- gps_set_raw_hook(&vgl->vgpsd->gpsd, gpsd_raw_hook);
- vgl->realtime_io_channel = g_io_channel_unix_new(vgl->vgpsd->gpsd.gps_fd);
- vgl->realtime_io_watch_id = g_io_add_watch( vgl->realtime_io_channel,
- G_IO_IN | G_IO_ERR | G_IO_HUP, gpsd_data_available, vgl);
--#if HAVE_GPS_STREAM
- gps_stream(&vgl->vgpsd->gpsd, WATCH_ENABLE, NULL);
--#else
-- gps_query(&vgl->vgpsd->gpsd, "w+x");
--#endif
- return FALSE; /* no longer called by timeout */
- }
-
-@@ -1501,11 +1492,7 @@
- }
- if (vgl->vgpsd) {
- gps_close(&vgl->vgpsd->gpsd);
--#ifdef HAVE_GPS_OPEN_R
- g_free(vgl->vgpsd);
--#else
-- free(vgl->vgpsd);
--#endif
- vgl->vgpsd = NULL;
- }
-