diff options
author | Fred Wright <fw@fwright.net> | 2019-03-13 19:37:33 -0700 |
---|---|---|
committer | Fred Wright <fw@fwright.net> | 2019-03-18 19:41:03 -0700 |
commit | 7722705676a8c7d52c612057de241167459b9e33 (patch) | |
tree | 296d3571ee331788cb48ad9c30da53f49c296169 /driver_zodiac.c | |
parent | 68d54c2dac8e2d082f0326cdcf56c31e70203300 (diff) | |
download | gpsd-7722705676a8c7d52c612057de241167459b9e33.tar.gz |
Avoids troublesome dependency on M_LN2 from math.h.
The M_LN2 definition isn't always provided by math.h, depending on the
settings of the pesky configure flags. Since ln(2) is a mathematical
constant, there's no loss of generality in defining our own version,
and that decouples us from the variability.
Since the stated purpose of defining _XOPEN_SOURCE in driver_tsip.c
and driver_zodiac.c is just to make M_LN2 available, this is
no longer necessary.
TESTED:
(With subsequent fixes included) Ran "build-all check" on Mac Pro
10.9, Mac Pro 10.14, MacBook Pro 10.9, PowerBook 10.5, VMs for OSX
10.5-10.13, Ubuntu 14.04, CentOS 7, Fedora 25, FreeBSD 10.3, OpenBSD
5.6, OpenBSD 5.6 32-bit, NetBSD 6.1.5, and Beaglebone (arm) Debian 7.
Diffstat (limited to 'driver_zodiac.c')
-rw-r--r-- | driver_zodiac.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/driver_zodiac.c b/driver_zodiac.c index b4c38b01..41a5565a 100644 --- a/driver_zodiac.c +++ b/driver_zodiac.c @@ -10,14 +10,6 @@ * SPDX-License-Identifier: BSD-2-clause */ -#ifdef __linux__ -/* FreeBSD chokes on this */ -/* if we insist on C99, then we need this to get M_LN2 from math.h */ -/* if we insisnt on C99, then we need this to get M_LN2 from math.h */ -/* 500 means X/Open 1995 */ -#define _XOPEN_SOURCE 500 -#endif /* __linux__ */ - #if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L /* round() needs _POSIX_C_SOURCE >= 200112L */ #define _POSIX_C_SOURCE 200112L @@ -447,7 +439,7 @@ static bool zodiac_speed_switch(struct gps_device_t *session, data[2] = (unsigned short)parity; /* port 1 character width (8 bits) */ data[3] = (unsigned short)(stopbits - 1); /* port 1 stop bits (1 stopbit) */ data[4] = 0; /* port 1 parity (none) */ - data[5] = (unsigned short)(round(log((double)speed / 300) / M_LN2) + 1); /* port 1 speed */ + data[5] = (unsigned short)(round(log((double)speed / 300) / GPS_LN2) + 1); /* port 1 speed */ data[14] = zodiac_checksum(data, 14); (void)zodiac_spew(session, 1330, data, 15); |