summaryrefslogtreecommitdiff
path: root/packet.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2008-07-15 10:15:04 +0000
committerEric S. Raymond <esr@thyrsus.com>2008-07-15 10:15:04 +0000
commita9b4c0b161c81e40229d6375cc979a60dbde6902 (patch)
treec207ac4545550f7e25db9f388f61bdefd087cdfa /packet.c
parent82e68069483eaa3fd05456588edfd0ce708ad1ef (diff)
downloadgpsd-a9b4c0b161c81e40229d6375cc979a60dbde6902.tar.gz
Refactoring step. Eliminate second argument of packet.c::packet_parse().
No behavioral changes, all regression tests pass.
Diffstat (limited to 'packet.c')
-rw-r--r--packet.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/packet.c b/packet.c
index 7243d8b9..e3499211 100644
--- a/packet.c
+++ b/packet.c
@@ -863,19 +863,10 @@ static void character_discard(struct gps_packet_t *lexer)
/* entry points begin here */
-ssize_t packet_parse(struct gps_packet_t *lexer, size_t plen)
+void packet_parse(struct gps_packet_t *lexer)
/* grab a packet; returns either BAD_PACKET or the length */
{
-#ifdef STATE_DEBUG
- gpsd_report(LOG_RAW+1, "Read %d chars to buffer offset %d (total %d): %s\n",
- plen,
- lexer->inbuflen,
- lexer->inbuflen+plen,
- gpsd_hexdump(lexer->inbufptr, plen));
-#endif /* STATE_DEBUG */
-
lexer->outbuflen = 0;
- lexer->inbuflen += plen;
while (lexer->inbufptr < lexer->inbuffer + lexer->inbuflen) {
/*@ -modobserver @*/
unsigned char c = *lexer->inbufptr++;
@@ -1267,11 +1258,7 @@ ssize_t packet_parse(struct gps_packet_t *lexer, size_t plen)
}
#endif /* RTCM104V2_ENABLE */
} /* while */
-
-#ifdef STATE_DEBUG
- gpsd_report(LOG_RAW+1, "Packet parse returns %d\n", plen);
-#endif /* STATE_DEBUG */
- return (ssize_t)plen;}
+}
#undef getword
ssize_t packet_get(int fd, struct gps_packet_t *lexer)
@@ -1297,13 +1284,20 @@ ssize_t packet_get(int fd, struct gps_packet_t *lexer)
}
}
-#ifdef STATE_DEBUG
- gpsd_report(LOG_RAW+2, "%d raw bytes read from %d: %s\n",
- recvd, fd, gpsd_hexdump(lexer->inbuffer+lexer->inbuflen, (size_t)recvd));
-#endif /* STATE_DEBUG */
if (recvd == 0)
return 0;
- return packet_parse(lexer, (size_t)recvd);
+
+#ifdef STATE_DEBUG
+ gpsd_report(LOG_RAW+1, "Read %d chars to buffer offset %d (total %d): %s\n",
+ recvd,
+ lexer->inbuflen,
+ lexer->inbuflen+recvd,
+ gpsd_hexdump(lexer->inbufptr, recvd));
+#endif /* STATE_DEBUG */
+
+ lexer->inbuflen += recvd;
+ packet_parse(lexer);
+ return recvd;
}
void packet_reset(struct gps_packet_t *lexer)