| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Should never happen if GPS_JSON_RESPONSE_MAX is long enough. But
things always get longer. Or malicious...
|
|
|
|
|
| |
Many places in the code include sys/select.h with no guard for
a long time and no problem reports. So kill it off.
|
|
|
|
|
| |
Also, remove sime header inclusions discovered to be unnecessary during
the change.
|
| |
|
| |
|
|
|
|
|
| |
Outide of one Mac portability shim, anyway. Associated select(2) calls
become pselect(2) calls.
|
| |
|
|
|
|
|
|
|
| |
Now pass an optional message buffer to gps_read(). Finally
the JSON display in cgps works.
Thanks to Virgin Orbit for their support fixing this bug.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add Windows versions for network functions and disable unused features.
Add detection of various headers and functions that aren't available in
Windows. Note that netlib_localsocket() has no functional implementation
on Windows, but it isn't to be used on that platform and it's not part of
libgps anyway.
Using send() rather than write() seems to work on Windows.
For Windows need to ensure networking is initialised on opening of sockets
(and then correspondingly shutdown upon closing).
Note that within gpsd.h the termios structures and serial related functions
are removed from the Windows build. These are only accessed in serial.c by
gpsd, so since the Windows build is only generating libgps there is
currently no need to modify serial.c.
And for os_compat.h, daemon() is simply disabled under Windows as it's not
used within libgps.
TESTED:
Confirmed compiles under a cross compiler.
Manual build and run of test_libgps on Windows which successfully connects
to a host running GPSD
Manual build DLL version and link with a Windows version of a program
(Viking) that then successfully connects and monitors positions from GPSD
Otherwise no effect on current supported systems.
'scons build-all check' - passes.
Signed-off-by: Fred Wright <fw@fwright.net>
|
|
|
|
|
|
|
| |
Since privdata is always allocated in gps_sock_open(),
it always needs to be free'd in gps_sock_close().
Signed-off-by: Fred Wright <fw@fwright.net>
|
|
|
|
|
|
|
|
| |
privdata must be explicitly set to NULL after use,
otherwise if gps_close() is (incorrectly) called again before
a new gps_open() then a double free condition can occur.
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
|
|
|
| |
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
|
|
|
|
|
|
| |
TESTED
'scons build-all check' with and without qt passes.
Signed-off-by: Jon Schlueter <jon.schlueter@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The proximate cause was that we've been seing emission of error
messages that were randomly and disturbingly variable across different
environments - notably Raspbian and Gentoo splint gave nontrivially
different results than Ubuntu 14.10 splint. And this was *not* due to
Ubuntu patches! A pristine splint built from the 3.1.2 tarball on
Ubuntu didn't match the Raspbian and Gentoo results either.
But this has been coming for a while. Easy access to more modern
static analyzers such as coverity, scan-build and cppcheck has been
decreasing the utility of splint, which is unmaintained and somewhat
buggy and not easy to use.
Only file not cleaned is ppsthread.c, because Gary has been working
on it during this cleanup.
All regression tests pass. PPS observed live on GR601-W.
|
|
|
|
|
| |
JSON wait was in uSec, but SHM wait was in Sec. Made both uSec
and documented three places.
|
|
|
|
| |
It wasn't being used, anyway. There's no Windows port yet.
|
|
|
|
|
| |
All regression tests pass. Clients are working live. PPS observed on Macx-1.
|
| |
|
|
|
|
| |
This change doesn't affect generated binary code.
|
|
|
|
| |
This change doesn't affect generated binary code.
|
|
|
|
| |
This change doesn't affect generated binary code.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...from a set of parallel arrays. This change flushed out a
longstanding bug in the computation of DOPs for estimated error bars.
Some test-load rebuilds were required:
geostar-geos1m-binary.log.chk: With this change error
estimates are computed and reported.
trimble-lassen_iq-3dfix.log, trimble-lassen_iq-3dfix.log: the
change revealed a bug in the computation of satellite-seen bits.
Error estimates did not change.
navcom.log: Error estimates changed.
With these rebuilds, all regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
| |
The current mainloop function does not evaluate the return value of
gps_read(). If the socket is closed (because gpsd is stopped) the
mainloop will consume 99% CPU constantly doing a recv() from the socket
which returns zero. gps_read already returns -1 if this condition is
encountered.
This patch checks the return value of gps_read() and if it is -1 the
mainloop is exited. This is also what happens in gps_shm_mainloop().
|
|
|
|
|
|
|
| |
Required a regression-test rebuild, of course. The field is still set by
the TSIP and SiRF drivers; the SiRF driver actually uses it. It may be
possible to eliminate the TSIP uses, but so far attempting this has
produced odd regression-test failures.
|
|
|
|
|
|
|
|
| |
This came up in connection with Android. According to SuS this shouln't be
necessary if sys/time.h was included, but oh well. While we;re at it, rearrange
some includes for more consistent order.
All regression tests pass.
|
|
|
|
| |
All regression tests pass. PPS is live in both gpsd and gpsmon.
|
|
|
|
|
| |
...against the extremmely unlikely evebtuality of anything but gpsmon
wanting to use it.
|
|
|
|
| |
All regression tests pass. PPS is live.
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
|
|
|
| |
And prevent it from raising spurious Coverity warnings.
|
| |
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass. All three exports work in gpxlogger.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
gpxlogger currently works with socket and DBUS methods but fails with
a segfault in the shm code.
|
| |
|