summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2011-03-02 17:34:13 -0500
committerEric S. Raymond <esr@thyrsus.com>2011-03-02 17:34:13 -0500
commit1ea99c35956ac8486fef2831cf9113fdbe414648 (patch)
tree2c9a6d0eaf4475a87457ae071a82e7be2c8c91d0
parentf87b43d622f8ac5f3965dc923554c60f08b530a1 (diff)
downloadgpsd-1ea99c35956ac8486fef2831cf9113fdbe414648.tar.gz
Sniffer wasn't going to ground state properly afer an RTCM3 packet.
All regression tests pass.
-rw-r--r--packet.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/packet.c b/packet.c
index 4ce67963..9bf0ea7f 100644
--- a/packet.c
+++ b/packet.c
@@ -1605,7 +1605,6 @@ void packet_parse(struct gps_packet_t *lexer)
if (crc24q_check(lexer->inbuffer,
lexer->inbufptr - lexer->inbuffer)) {
packet_accept(lexer, RTCM3_PACKET);
- packet_discard(lexer);
} else {
gpsd_report(LOG_IO, "RTCM3 data checksum failure, "
"%0x against %02x %02x %02x\n",
@@ -1614,9 +1613,9 @@ void packet_parse(struct gps_packet_t *lexer)
3), lexer->inbufptr[-3],
lexer->inbufptr[-2], lexer->inbufptr[-1]);
packet_accept(lexer, BAD_PACKET);
- lexer->state = GROUND_STATE;
- packet_discard(lexer);
}
+ packet_discard(lexer);
+ lexer->state = GROUND_STATE;
break;
}
#endif /* RTCM104V3_ENABLE */