| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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.
|
|
|
|
| |
Very odd. Not obvious why.
|
|
|
|
| |
Don't force _POSIX_C_SOURCE 200112L, just make it a minimum.
|
|
|
|
|
| |
Outide of one Mac portability shim, anyway. Associated select(2) calls
become pselect(2) calls.
|
| |
|
|
|
|
|
| |
Some code checkers complain that gmtime() is not thread safe. Like
we care in gpspipe.
|
| |
|
|
|
|
| |
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
|
|
|
| |
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the GPS receiver cease to supply data to gpsd, gpspipe hangs
indefinitely waiting for gpsd.
This can happen if the GPS is turned off by external means, e.g. by an
AT command on the command port of a cellular card.
In order to use gpspipe to get a fix within bounded time, this patch
adds an option to specify a timout, so that I can do things like:
$x=$(gpspipe -x 5 -w|sed -n '/TPV/{p;q}')
And get either the first TPV or an empty string if no fix is available.
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
|
|
|
|
|
| |
Add missing ifdef for HAVE_TERMIOS_H.
Signed-off-by: Gary E. Miller <gem@rellim.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use recv() rather than read() for Windows compatibility.
Disable serial port code not available on Windows.
Add open flag that's not available on Windows.
TESTED:
Built gpspipe for Windows under cross compiler.
Run gpspipe on a Windows system and successfully connects to an instance of
gpsd and dumps NMEA output to the terminal or a specified output file.
Still builds and runs on a Linux system including the daemon option.
Signed-off-by: Fred Wright <fw@fwright.net>
|
|
|
|
|
|
|
|
| |
Error messages related to daemonization failures had incorrect
spelling.
TESTED:
Ran "scons build-all" on OSX.
|
| |
|
|
|
|
|
|
|
|
|
| |
Ensure consistent marking of '(void)' for most normal usage of fprintf()
TESTED:
'scons build-all check' passes
Signed-off-by: Fred Wright <fw@fwright.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This defines a new function os_daemon() (in os_compat.c), which is
either the old replacement daemon() renamed, or a wrapper around the
actual daemon() call. This allows any issues related to daemon()
(which exist on some platforms) to be dealt with in one place. No
such changes are present yet, so platforms giving warnings for the use
of daemon() continue to do so, but now only in the compilation of
os_compat.c. Unfortunately, the current build procedure typically
compiles os_compat.c multiple times, so the warnings still appear
multiple times.
TESTED:
Ran "scons build-all check" on OSX 10.9, OSX 10.12, Ubuntu 14, and
FreeBSD 10.3.
|
|
|
|
| |
Also two #defines for gpspipe.c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
gpsd is now splint clean again.
|
|
|
|
|
|
| |
gpsd_config.h needs time_t which is in time.h
OS X builds now. Untested.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This eliminates the last gettimeofday(3) from the code.
POSIX.1-2008 marked it obsolete.
All regression tests pass.
|
|
|
|
|
|
|
| |
HAVE_TERMIOS_H was some sort of relic, apparently always on. I don't think the
code would have compiled without it.
All regression tests pass.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Guard includes of termios.h with #ifdef HAVE_TERMIOS_H.
Test for termios.h in scons, and define/undefine HAVE_TERMIOS_H accordingly.
Fixes the below error seen on cygwin, which lacks termios.h:
In file included from gpsutils.c:22:0:
gpsd.h:349:21: fatal error: termios.h: No such file or directory
#include <termios.h>
^
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
| |
|
|
|
|
|
| |
cppchecker now finds variables that could have reduced scope;
that's most of these.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For simple logging of NMEA data or system performance analysis
it is often desirable to have high resolution time-stamps.
This implementation affects only the client-side, namely gpspipe.
Option -u was added to enable usec-resolution time output.
Furthermore, the default time format has been changed because
it is more desirable to have a standardized and sortable time-tag
default format instead of a locale-dependent one.
Also, the new option -u appends decimal digits to the seconds
which does not make sense for the some %c formats.
A future desirable feature might be to have usec resolution
timestamps on the gpsd protocol messages.
modified: gpspipe.c
modified: gpspipe.xml
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
| |
|
| |
|
|
|
|
| |
Note there are some exit(2) instances we bneed to decide what to do with.
|
| |
|
| |
|
| |
|
| |
|
| |
|