Skip to content

Commit

Permalink
Issue 196 - Compatibility with GPSD API 7.
Browse files Browse the repository at this point in the history
  • Loading branch information
wb2osz committed Feb 18, 2019
1 parent a200f3d commit a1e2d1c
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion dwgpsd.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@
// Debian bug report: direwolf (1.2-1) FTBFS with libgps22 as part of the gpsd transition (#803605):
// dwgps.c claims to only support GPSD_API_MAJOR_VERSION 5, but also builds successfully with
// GPSD_API_MAJOR_VERSION 6 provided by libgps22 when the attached patch is applied.
#if GPSD_API_MAJOR_VERSION < 5 || GPSD_API_MAJOR_VERSION > 6

// Also compatible with API 7 with conditional compilation later.

#if GPSD_API_MAJOR_VERSION < 5 || GPSD_API_MAJOR_VERSION > 7
#error libgps API version might be incompatible.
#endif

Expand Down Expand Up @@ -257,7 +260,19 @@ static void * read_gpsd_thread (void *arg)
/* Fall thru to read which should get error and bail out. */
}

// https://github.com/wb2osz/direwolf/issues/196
// https://bugzilla.redhat.com/show_bug.cgi?id=1674812

// gps_read has two new parameters in API version 7.
// It looks like this could be used to obtain the JSON message from the daemon.
// Specify NULL, instead of message buffer space, if this is not desired.
// Why couldn't they add a new function instead of introducing incompatibility?

#if GPSD_API_MAJOR_VERSION >= 7
if (gps_read (&gpsdata, NULL, 0) == -1) {
#else
if (gps_read (&gpsdata) == -1) {
#endif
text_color_set(DW_COLOR_ERROR);

dw_printf ("------------------------------------------\n");
Expand Down

0 comments on commit a1e2d1c

Please sign in to comment.