From 6203e5b8fcac9d78ea54b7b3c53cb8d084e8a219 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 27 Aug 2014 16:26:52 -0400 Subject: Introduce struct errout_t to encapsulate error-reporting hooks. A major step towards eliminating reverse linkage. All regression tests pass. --- isgps.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'isgps.c') diff --git a/isgps.c b/isgps.c index 24ce50b6..eadf1795 100644 --- a/isgps.c +++ b/isgps.c @@ -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; } -- cgit v1.2.1