summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2010-03-31 19:19:24 -0400
committerEric S. Raymond <esr@thyrsus.com>2010-03-31 19:19:24 -0400
commit2a27bea64b936dffe687ed38f210dddc3ccfc681 (patch)
treed4535f6d40e06961ab6d29cf167654da2a761932
parent4acdd7a9436153ab7ee036a935ee1abb30bcabb0 (diff)
downloadgpsd-2a27bea64b936dffe687ed38f210dddc3ccfc681.tar.gz
Factor out a little function to initiaslize the packet tester properly.
-rw-r--r--gpsd.h-tail1
-rw-r--r--libgpsd_core.c3
-rw-r--r--packet.c6
-rw-r--r--test_packet.c1
4 files changed, 9 insertions, 2 deletions
diff --git a/gpsd.h-tail b/gpsd.h-tail
index a56699a3..01a4f60d 100644
--- a/gpsd.h-tail
+++ b/gpsd.h-tail
@@ -107,6 +107,7 @@ struct gps_packet_t {
} isgps;
};
+extern void packet_init(struct gps_packet_t *);
extern void packet_reset(struct gps_packet_t *);
extern void packet_pushback(struct gps_packet_t *);
extern void packet_parse(struct gps_packet_t *);
diff --git a/libgpsd_core.c b/libgpsd_core.c
index 34d8041f..abb7215f 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -368,8 +368,7 @@ int gpsd_activate(struct gps_device_t *session)
#ifdef SIRF_ENABLE
session->driver.sirf.satcounter = 0;
#endif /* SIRF_ENABLE */
- session->packet.char_counter = 0;
- session->packet.retry_counter = 0;
+ packet_init(&session->packet);
gpsd_report(LOG_INF,
"gpsd_activate(): opened GPS (fd %d)\n",
session->gpsdata.gps_fd);
diff --git a/packet.c b/packet.c
index 3b92a2bd..9eb5f2fd 100644
--- a/packet.c
+++ b/packet.c
@@ -1021,6 +1021,12 @@ static void character_discard(struct gps_packet_t *lexer)
/* entry points begin here */
+void packet_init(struct gps_packet_t *lexer)
+{
+ lexer->char_counter = 0;
+ lexer->retry_counter = 0;
+}
+
void packet_parse(struct gps_packet_t *lexer)
/* grab a packet from the input buffer */
{
diff --git a/test_packet.c b/test_packet.c
index 1acd69ea..90a56fa3 100644
--- a/test_packet.c
+++ b/test_packet.c
@@ -239,6 +239,7 @@ static int packet_test(struct map *mp)
struct gps_packet_t packet;
int failure = 0;
+ packet_init(&packet);
packet.type = BAD_PACKET;
packet.state = 0;
/*@i@*/memcpy(packet.inbufptr = packet.inbuffer, mp->test, mp->testlen);