| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is done so we can add a "log" hook to the pps_thread_t
structure (this is not done yet) and harmonize with the name of the
outer logging function. If that name had been left as gpsd_report()
there would have been scope for bad confusion with the report_hook
member.
Also, remove two stray duplicative printf calls from the NMEA2000 driver
(drivers shouldn't have printfs!) and fix one typo.
This is a step towards factoring out ntplib. For that to happen, the
PPS thread code needs to be decoupled from the core session structure.
No logic changes. Object compatibility preserved. All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gpsd_set_century attempts to skip optional whitespace in its input, but
it does so by decrementing its pointer, when it should instead be
incrementing it.
Eric, I feel this one should make the snap release. It's trivial,
isolated from other code, and I hope is "obviously correct".
I have further patches in my queue, which I'm sending shortly, but which
I don't think should necessarily go in the current snap release. None of
them is critical.
|
| |
|
|
|
|
|
|
|
| |
Returns us to something amost identical to the original code.
Sigh. Timezones are a swamp.
All regression tests pass.
|
|
|
|
| |
Dependency soon to be fixed. All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...with calls to gps_notify(), which indirects to its output method
through a slot in an errout structure. Usually the errout structure
lives inside the session context, but because struct errout_t is its
own thing this does not have to be the case. One large clique of
gpsd_notify() calls, in packet.c and isgps.c, looks at a struct
errout_t copy in a lexer control block
This change is not complete. Remnant gpsd_report calls need to be changed,
and gpsmon needs to be tweaked so that the struct_error_t in its context
is a non-defaukt hook updating the cuses display rather than simply
dumping to stderr. Also the report label functionality needs to be added.
All regression tests pass.
|
|
|
|
|
|
| |
A major step towards eliminating reverse linkage.
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
| |
This time, the NMEA privarte storage is outside the union, so mode-switching
won't step on stuff.
All regression tests pass.
|
|
|
|
|
|
|
| |
Hopefully, future developers will understand why
things were done this way.
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
|
|
|
|
| |
I am not sure where this should be, but I do not
think this documentation is of direct use to users. Hence
I am adding it to timebase.c , for developers.
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
|
|
|
| |
No logic changes. All regression tests pass.
The real point here is to get all the code for time-related edge cases
into timebase.c so it can be reviewed as a unit.
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
|
|
|
|
| |
That is, rather than having to interpolate them. This required two
regression-test rebuilds in obvious places.
|
| |
|
|
|
|
|
|
|
|
| |
This is a large, ugly change. But without it we can't troubleshoot the
ICP/IP-source initialization bug properly - colliding definitions of
gpsd_report() were interfering with error reporting early in gpsd runs.
More cleanup work remains to be done, but at least this is working.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
cppchecker now finds variables that could have reduced scope;
that's most of these.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
| |
|
| |
|
|
|
|
|
| |
Trying to remember that these used a non-ISO8601 date format was driving
me nuts. All regression tests pass.
|
| |
|
|
|
|
|
|
| |
All tests pass. These are didfficult to spot because the compiler actually
doesn't care about the distinction btween the source and result type of
a typedef.
|
| |
|
|
|
|
| |
(Also, fix it up sop it *is* correct, in case we want it someday.)
|
| |
|
|
|
|
|
|
| |
Contains the hidden assumption that dates to be merged will always be
presented in monotonically increasing order. If this ever fails to be
the case near a century turnover, you're screwed.
|
|
|
|
| |
Tricky surgery in progess, that's why I'm doing lots of small commits.
|