diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2014-08-27 16:26:52 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2014-08-27 16:26:52 -0400 |
commit | 6203e5b8fcac9d78ea54b7b3c53cb8d084e8a219 (patch) | |
tree | d8611d8e44267151c29ab8920702cc94e86063c5 /isgps.c | |
parent | b53db1322c70f8b86dfe72e982d6097304a749ae (diff) | |
download | gpsd-6203e5b8fcac9d78ea54b7b3c53cb8d084e8a219.tar.gz |
Introduce struct errout_t to encapsulate error-reporting hooks.
A major step towards eliminating reverse linkage.
All regression tests pass.
Diffstat (limited to 'isgps.c')
-rw-r--r-- | isgps.c | 22 |
1 files changed, 11 insertions, 11 deletions
@@ -186,7 +186,7 @@ enum isgpsstat_t isgps_decode(struct gps_lexer_t *lexer, { /* ASCII characters 64-127, @ through DEL */ if ((c & MAG_TAG_MASK) != MAG_TAG_DATA) { - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 1, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 1, "ISGPS word tag not correct, skipping byte\n"); return ISGPS_SKIP; } @@ -206,18 +206,18 @@ enum isgpsstat_t isgps_decode(struct gps_lexer_t *lexer, lexer->isgps.curr_word |= c >> -(lexer->isgps.curr_offset); } - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 2, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 2, "ISGPS syncing at byte %lu: 0x%08x\n", lexer->char_counter, lexer->isgps.curr_word); if (preamble_match(&lexer->isgps.curr_word)) { if (isgps_parityok(lexer->isgps.curr_word)) { - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 1, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 1, "ISGPS preamble ok, parity ok -- locked\n"); lexer->isgps.locked = true; break; } - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 1, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 1, "ISGPS preamble ok, parity fail\n"); } lexer->isgps.curr_offset++; @@ -246,13 +246,13 @@ enum isgpsstat_t isgps_decode(struct gps_lexer_t *lexer, * another preamble pattern in the data stream. -wsr */ if (preamble_match(&lexer->isgps.curr_word)) { - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 2, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 2, "ISGPS preamble spotted (index: %u)\n", lexer->isgps.bufindex); lexer->isgps.bufindex = 0; } #endif - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 2, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 2, "ISGPS processing word %u (offset %d)\n", lexer->isgps.bufindex, lexer->isgps.curr_offset); @@ -263,7 +263,7 @@ enum isgpsstat_t isgps_decode(struct gps_lexer_t *lexer, */ if (lexer->isgps.bufindex >= (unsigned)maxlen) { lexer->isgps.bufindex = 0; - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 1, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 1, "ISGPS buffer overflowing -- resetting\n"); return ISGPS_NO_SYNC; } @@ -274,7 +274,7 @@ enum isgpsstat_t isgps_decode(struct gps_lexer_t *lexer, /* *INDENT-OFF* */ if ((lexer->isgps.bufindex == 0) && !preamble_match((isgps30bits_t *) lexer->isgps.buf)) { - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 1, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 1, "ISGPS word 0 not a preamble- punting\n"); return ISGPS_NO_SYNC; } @@ -298,13 +298,13 @@ enum isgpsstat_t isgps_decode(struct gps_lexer_t *lexer, c >> -(lexer->isgps.curr_offset); } } else { - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 0, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 0, "ISGPS parity failure, lost lock\n"); lexer->isgps.locked = false; } } lexer->isgps.curr_offset -= 6; - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 2, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 2, "ISGPS residual %d\n", lexer->isgps.curr_offset); return res; @@ -312,7 +312,7 @@ enum isgpsstat_t isgps_decode(struct gps_lexer_t *lexer, /*@ +shiftnegative @*/ /* never achieved lock */ - lexer_report(lexer, ISGPS_ERRLEVEL_BASE + 1, + gpsd_notify(&lexer->errout, ISGPS_ERRLEVEL_BASE + 1, "ISGPS lock never achieved\n"); return ISGPS_NO_SYNC; } |