summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2006-09-09 16:04:52 +0000
committerEric S. Raymond <esr@thyrsus.com>2006-09-09 16:04:52 +0000
commit0a03bf80422ae30d190f8fe1d75adae01e946065 (patch)
tree6ffce46f7189029ccc6b27315b8a705d18ba56b9 /libgpsd_core.c
parentded293e95f9698a8819e6031e34cfcfb3769876c (diff)
downloadgpsd-0a03bf80422ae30d190f8fe1d75adae01e946065.tar.gz
Refactor core library some more. All regression tests pass.
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index ffe0d286..44169453 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -394,6 +394,17 @@ static void gpsd_binary_quality_dump(struct gps_device_t *session,
#undef ZEROIZE
}
+static void gpsd_binary_dump(struct gps_device_t *session,
+ char bufp[], size_t len)
+{
+ if ((session->gpsdata.set & LATLON_SET) != 0)
+ gpsd_binary_fix_dump(session, bufp+strlen(bufp), len-strlen(bufp));
+ if ((session->gpsdata.set & HDOP_SET) != 0)
+ gpsd_binary_quality_dump(session, bufp+strlen(bufp), len-strlen(bufp));
+ if ((session->gpsdata.set & SATELLITE_SET) != 0)
+ gpsd_binary_satellite_dump(session,bufp+strlen(bufp),len-strlen(bufp));
+}
+
#endif /* BINARY_ENABLE */
@@ -612,21 +623,10 @@ gps_mask_t gpsd_poll(struct gps_device_t *session)
rtcm_dump(session,
buf2+strlen(buf2),
(sizeof(buf2)-strlen(buf2)));
- else
#endif /* RTCM104_ENABLE */
#ifdef BINARY_ENABLE
- if ((session->gpsdata.set & LATLON_SET) != 0)
- gpsd_binary_fix_dump(session,
- buf2+strlen(buf2),
- (sizeof(buf2)-strlen(buf2)));
- if ((session->gpsdata.set & HDOP_SET) != 0)
- gpsd_binary_quality_dump(session,
- buf2 + strlen(buf2),
- (sizeof(buf2)-strlen(buf2)));
- if ((session->gpsdata.set & SATELLITE_SET) != 0)
- gpsd_binary_satellite_dump(session,
- buf2 + strlen(buf2),
- (sizeof(buf2)-strlen(buf2)));
+ else
+ gpsd_binary_dump(session, buf2, sizeof(buf2));
#endif /* BINARY_ENABLE */
if (buf2[0] != '\0') {
gpsd_report(3, "<= GPS: %s", buf2);