summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gpsd.h-tail3
-rw-r--r--pseudonmea.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/gpsd.h-tail b/gpsd.h-tail
index dc3a361e..6a8eaaad 100644
--- a/gpsd.h-tail
+++ b/gpsd.h-tail
@@ -476,7 +476,8 @@ extern int netlib_connectsock(const char *, const char *, const char *);
extern char /*@observer@*/ *netlib_errstr(const int);
extern char /*@observer@*/ *sock2ip(int);
-extern void gpsd_pseudonmea_dump(struct gps_device_t *, char[], size_t);
+extern void gpsd_pseudonmea_dump(struct gps_device_t *,
+ /*@out@*/char[], size_t);
extern void ntpshm_init(struct gps_context_t *, bool);
extern int ntpshm_alloc(struct gps_context_t *);
diff --git a/pseudonmea.c b/pseudonmea.c
index 96b33600..70e1c4cf 100644
--- a/pseudonmea.c
+++ b/pseudonmea.c
@@ -226,10 +226,12 @@ static void gpsd_binary_quality_dump(struct gps_device_t *session,
#undef ZEROIZE
}
+/*@-compdef -mustdefine@*/
void gpsd_pseudonmea_dump(struct gps_device_t *session,
- char bufp[], size_t len)
+ /*@out@*/char bufp[], size_t len)
/* the only entry point - dump a device state in pseudo-NMEA */
{
+ bufp[0] = '\0';
if ((session->gpsdata.set & LATLON_SET) != 0) {
gpsd_position_fix_dump(session, bufp, len);
gpsd_transit_fix_dump(session, bufp + strlen(bufp), len - strlen(bufp));
@@ -239,6 +241,7 @@ void gpsd_pseudonmea_dump(struct gps_device_t *session,
if ((session->gpsdata.set & SATELLITE_SET) != 0)
gpsd_binary_satellite_dump(session,bufp+strlen(bufp),len-strlen(bufp));
}
+/*@+compdef +mustdefine@*/
/* pseudonmea.c ends here */