diff options
-rw-r--r-- | gpsd.h-tail | 3 | ||||
-rw-r--r-- | pseudonmea.c | 5 |
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 */ |