layer23: Fix build against gpsd >= 3.18
Change-Id: I0e97d3e8c3688064c959ea60ecef50cfbbc1bcd6
This commit is contained in:
parent
9cdee8f66a
commit
4f85fb30bc
|
@ -60,9 +60,20 @@ static struct gps_data_t* gdata = NULL;
|
|||
|
||||
#if GPSD_API_MAJOR_VERSION >= 5
|
||||
static struct gps_data_t _gdata;
|
||||
#define gps_poll gps_read
|
||||
#endif
|
||||
|
||||
static inline int compat_gps_read(struct gps_data_t *data)
|
||||
{
|
||||
/* API break in gpsd 6bba8b329fc7687b15863d30471d5af402467802 */
|
||||
#if GPSD_API_MAJOR_VERSION >= 7 && GPSD_API_MINOR_VERSION >= 0
|
||||
return gps_read(data, NULL, 0);
|
||||
#elif GPSD_API_MAJOR_VERSION >= 5
|
||||
return gps_read(data);
|
||||
#else
|
||||
return gps_poll(data);
|
||||
#endif
|
||||
}
|
||||
|
||||
int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
|
||||
{
|
||||
struct tm *tm;
|
||||
|
@ -85,7 +96,7 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
|
|||
#endif
|
||||
|
||||
/* polling returned an error */
|
||||
if (gps_poll(gdata))
|
||||
if (compat_gps_read(gdata))
|
||||
goto gps_not_ready;
|
||||
|
||||
/* data are valid */
|
||||
|
|
Loading…
Reference in New Issue