summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver_evermore.c3
-rw-r--r--driver_italk.c4
-rw-r--r--driver_navcom.c5
-rw-r--r--driver_rtcm2.c2
-rw-r--r--driver_rtcm3.c2
-rw-r--r--driver_superstar2.c2
-rw-r--r--driver_tsip.c6
-rw-r--r--gpsd.c8
-rw-r--r--gpsmon.c2
-rw-r--r--libgps_core.c2
-rw-r--r--libgps_shm.c2
-rw-r--r--libgps_sock.c4
-rw-r--r--monitor_italk.c6
-rw-r--r--shared_json.c1
14 files changed, 29 insertions, 20 deletions
diff --git a/driver_evermore.c b/driver_evermore.c
index 8136a877..55da0eed 100644
--- a/driver_evermore.c
+++ b/driver_evermore.c
@@ -148,7 +148,8 @@ gps_mask_t evermore_parse(struct gps_device_t * session, unsigned char *buf,
double version;
gps_mask_t mask = 0;
- if (len == 0)
+ /* must have two leader bytes, length, and two trailer bytes minimum */
+ if (len < 5)
return 0;
/* time to unstuff it and discard the header and footer */
diff --git a/driver_italk.c b/driver_italk.c
index cb8d93d8..406cdaaf 100644
--- a/driver_italk.c
+++ b/driver_italk.c
@@ -37,7 +37,7 @@ static gps_mask_t decode_itk_subframe(struct gps_device_t *, unsigned char *,
static gps_mask_t decode_itk_navfix(struct gps_device_t *session,
unsigned char *buf, size_t len)
{
- unsigned short flags, cflags, pflags;
+ unsigned short flags, pflags;
gps_mask_t mask = 0;
double epx, epy, epz, evx, evy, evz, eph;
@@ -48,7 +48,7 @@ static gps_mask_t decode_itk_navfix(struct gps_device_t *session,
}
flags = (ushort) getleu16(buf, 7 + 4);
- cflags = (ushort) getleu16(buf, 7 + 6);
+ //cflags = (ushort) getleu16(buf, 7 + 6);
pflags = (ushort) getleu16(buf, 7 + 8);
session->gpsdata.status = STATUS_NO_FIX;
diff --git a/driver_navcom.c b/driver_navcom.c
index bc2083ce..8a7df9c1 100644
--- a/driver_navcom.c
+++ b/driver_navcom.c
@@ -708,8 +708,7 @@ static gps_mask_t handle_0x81(struct gps_device_t *session)
static gps_mask_t handle_0x86(struct gps_device_t *session)
{
size_t n, i;
- uint8_t prn, tracking_status, ele, ca_snr, p2_snr, log_channel,
- hw_channel, s;
+ uint8_t prn, ele, ca_snr, p2_snr, log_channel, hw_channel, s;
uint16_t azm, dgps_age;
unsigned char *buf = session->packet.outbuffer + 3;
size_t msg_len = (size_t) getleu16(buf, 1);
@@ -763,7 +762,7 @@ static gps_mask_t handle_0x86(struct gps_device_t *session)
return 0;
}
prn = getub(buf, n);
- tracking_status = getub(buf, n + 1);
+ /* tracking_status = getub(buf, n + 1); */
log_channel = getub(buf, n + 2);
ele = getub(buf, n + 5);
azm = getleu16(buf, n + 6);
diff --git a/driver_rtcm2.c b/driver_rtcm2.c
index fa28a25d..5e04e4a2 100644
--- a/driver_rtcm2.c
+++ b/driver_rtcm2.c
@@ -854,7 +854,7 @@ void rtcm2_unpack( /*@out@*/ struct rtcm2_t *tp, char *buf)
tp->message[n++] = (char)(msg->msg_type.type16.txt[w].byte3);
}
/*@ +boolops @*/
- tp->message[n++] = '\0';
+ tp->message[n] = '\0';
break;
case 31:
diff --git a/driver_rtcm3.c b/driver_rtcm3.c
index ac292a5d..b1269bd0 100644
--- a/driver_rtcm3.c
+++ b/driver_rtcm3.c
@@ -418,7 +418,7 @@ void rtcm3_unpack( /*@out@*/ struct rtcm3_t *rtcm, char *buf)
rtcm->rtcmtypes.rtcm3_1029.mjd = (unsigned short)ugrab(16);
rtcm->rtcmtypes.rtcm3_1029.sod = (unsigned short)ugrab(17);
rtcm->rtcmtypes.rtcm3_1029.len = (unsigned long)ugrab(7);
- n = rtcm->rtcmtypes.rtcm3_1029.unicode_units = (size_t)ugrab(8);
+ rtcm->rtcmtypes.rtcm3_1029.unicode_units = (size_t)ugrab(8);
(void)memcpy(rtcm->rtcmtypes.rtcm3_1029.text,
buf + 12, rtcm->rtcmtypes.rtcm3_1029.unicode_units);
break;
diff --git a/driver_superstar2.c b/driver_superstar2.c
index 4c895373..37c3d4aa 100644
--- a/driver_superstar2.c
+++ b/driver_superstar2.c
@@ -373,7 +373,7 @@ superstar2_write(struct gps_device_t *session, char *msg, size_t msglen)
gpsd_report(LOG_IO, "writing superstar2 control type %d len %zu:%s\n",
(int)msg[1] & 0x7f, msglen,
gpsd_hexdump_wrapper(msg, msglen, LOG_IO));
- return (i = gpsd_write(session, msg, msglen));
+ return gpsd_write(session, msg, msglen);
}
/**
diff --git a/driver_tsip.c b/driver_tsip.c
index 02d27e0c..7a4ff62d 100644
--- a/driver_tsip.c
+++ b/driver_tsip.c
@@ -287,7 +287,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
session->newdata.latitude = getbef(buf, 0) * RAD_2_DEG;
session->newdata.longitude = getbef(buf, 4) * RAD_2_DEG;
session->newdata.altitude = getbef(buf, 8);
- f1 = getbef(buf, 12); /* clock bias */
+ //f1 = getbef(buf, 12); clock bias */
f2 = getbef(buf, 16); /* time-of-fix */
if ((session->context->valid & GPS_TIME_VALID)!=0) {
session->newdata.time =
@@ -507,6 +507,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
break;
case 0x6e: /* Synchronized Measurements */
break;
+#ifdef __UNUSED__
case 0x6f: /* Synchronized Measurements Report */
/*@ +charint @*/
if (len < 20 || getub(buf, 0) != 1 || getub(buf, 1) != 2)
@@ -515,6 +516,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
s1 = getbes16(buf, 2); /* number of bytes */
u1 = getub(buf, 20); /* number of SVs */
break;
+#endif /* __UNUSED__ */
case 0x70: /* Filter Report */
break;
case 0x7a: /* NMEA settings */
@@ -771,7 +773,7 @@ static gps_mask_t tsip_analyze(struct gps_device_t *session)
session->newdata.latitude = getbed(buf, 36) * RAD_2_DEG;
session->newdata.longitude = getbed(buf, 44) * RAD_2_DEG;
session->newdata.altitude = getbed(buf, 52);
- f1 = getbef(buf, 16); /* clock bias */
+ //f1 = getbef(buf, 16); clock bias */
u1 = getub(buf, 12); /* GPS Decoding Status */
u2 = getub(buf, 1); /* Receiver Mode */
diff --git a/gpsd.c b/gpsd.c
index 887a92f7..67c64e4e 100644
--- a/gpsd.c
+++ b/gpsd.c
@@ -698,7 +698,7 @@ static void handle_control(int sfd, char *buf)
/*@ -sefparams @*/
if (buf[0] == '-') {
- snarfline(buf + 1, &stash);
+ (void)snarfline(buf + 1, &stash);
gpsd_report(LOG_INF, "<= control(%d): removing %s\n", sfd, stash);
if ((devp = find_device(stash))) {
deactivate_device(devp);
@@ -707,7 +707,7 @@ static void handle_control(int sfd, char *buf)
} else
ignore_return(write(sfd, "ERROR\n", 6));
} else if (buf[0] == '+') {
- snarfline(buf + 1, &stash);
+ (void)snarfline(buf + 1, &stash);
if (find_device(stash)) {
gpsd_report(LOG_INF, "<= control(%d): %s already active \n", sfd,
stash);
@@ -720,7 +720,7 @@ static void handle_control(int sfd, char *buf)
ignore_return(write(sfd, "ERROR\n", 6));
}
} else if (buf[0] == '!') {
- snarfline(buf + 1, &stash);
+ (void)snarfline(buf + 1, &stash);
eq = strchr(stash, '=');
if (eq == NULL) {
gpsd_report(LOG_WARN, "<= control(%d): ill-formed command \n",
@@ -751,7 +751,7 @@ static void handle_control(int sfd, char *buf)
}
}
} else if (buf[0] == '&') {
- snarfline(buf + 1, &stash);
+ (void)snarfline(buf + 1, &stash);
eq = strchr(stash, '=');
if (eq == NULL) {
gpsd_report(LOG_WARN, "<= control(%d): ill-formed command\n",
diff --git a/gpsmon.c b/gpsmon.c
index 1986f39b..a243d3a9 100644
--- a/gpsmon.c
+++ b/gpsmon.c
@@ -328,7 +328,7 @@ bool monitor_control_send( /*@in@*/ unsigned char *buf, size_t len)
if (!serial) {
/* stop pretending now */
- session.gpsdata.gps_fd = savefd;
+ /*@i1@*/session.gpsdata.gps_fd = savefd;
/* enough room for "ERROR\r\n\0" */
/*@ -sefparams @*/
assert(read(controlfd, buf, 8) != -1);
diff --git a/libgps_core.c b/libgps_core.c
index b1f33bd1..e4866eea 100644
--- a/libgps_core.c
+++ b/libgps_core.c
@@ -110,6 +110,7 @@ int gps_read(struct gps_data_t *gpsdata)
libgps_debug_trace((DEBUG_CALLS, "gps_read()\n"));
+ /*@ -usedef -compdef -uniondef @*/
#ifdef SHM_EXPORT_ENABLE
if ((intptr_t)(gpsdata->gps_fd) == -1) {
status = gps_shm_read(gpsdata);
@@ -121,6 +122,7 @@ int gps_read(struct gps_data_t *gpsdata)
status = gps_sock_read(gpsdata);
}
#endif /* SOCKET_EXPORT_ENABLE */
+ /*@ +usedef +compdef +uniondef @*/
return status;
}
diff --git a/libgps_shm.c b/libgps_shm.c
index 4cb28e26..f0e38723 100644
--- a/libgps_shm.c
+++ b/libgps_shm.c
@@ -50,6 +50,7 @@ int gps_shm_open(/*@out@*/struct gps_data_t *gpsdata)
int gps_shm_read(struct gps_data_t *gpsdata)
/* read an update from the shared-memory segment */
{
+ /*@ -compdestroy */
if (gpsdata->privdata == NULL)
return -1;
else
@@ -88,6 +89,7 @@ int gps_shm_read(struct gps_data_t *gpsdata)
return (int)sizeof(struct gps_data_t);
}
}
+ /*@ +compdestroy */
}
void gps_shm_close(struct gps_data_t *gpsdata)
diff --git a/libgps_sock.c b/libgps_sock.c
index 0134391e..4bf5121f 100644
--- a/libgps_sock.c
+++ b/libgps_sock.c
@@ -53,13 +53,13 @@ struct privdata_t
int gps_sock_open(/*@null@*/const char *host, /*@null@*/const char *port,
/*@out@*/ struct gps_data_t *gpsdata)
{
- libgps_debug_trace((DEBUG_CALLS, "gps_sock_open(%s, %s)\n", host, port));
-
if (!host)
host = "localhost";
if (!port)
port = DEFAULT_GPSD_PORT;
+ libgps_debug_trace((DEBUG_CALLS, "gps_sock_open(%s, %s)\n", host, port));
+
#ifndef USE_QT
if ((gpsdata->gps_fd =
netlib_connectsock(AF_UNSPEC, host, port, "tcp")) < 0) {
diff --git a/monitor_italk.c b/monitor_italk.c
index 10b6ecae..f38cc851 100644
--- a/monitor_italk.c
+++ b/monitor_italk.c
@@ -72,7 +72,7 @@ static void display_itk_navfix(unsigned char *buf, size_t len)
{
unsigned int tow, tod, nsec, d, svlist;
- unsigned short gps_week, flags, cflags, pflags, nsv;
+ unsigned short gps_week, nsv;
unsigned short year, mon, day, hour, min, sec;
double epx, epy, epz, evx, evy, evz;
double latitude, longitude;
@@ -82,9 +82,11 @@ static void display_itk_navfix(unsigned char *buf, size_t len)
if (len != 296)
return;
- flags = (ushort) getleu16(buf, 7 + 4);
+#ifdef __UNUSED__
+ flags = (ushort) getleu16(buf, 7 + 4); */
cflags = (ushort) getleu16(buf, 7 + 6);
pflags = (ushort) getleu16(buf, 7 + 8);
+#endif /* __UNUSED__ */
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
nsv = (ushort) MAX(getleu16(buf, 7 + 12), getleu16(buf, 7 + 14));
diff --git a/shared_json.c b/shared_json.c
index b685b8cc..076239d8 100644
--- a/shared_json.c
+++ b/shared_json.c
@@ -59,6 +59,7 @@ int json_device_read(const char *buf,
/*@ +fullinitblock @*/
int status;
+ tbuf[0] = '\0';
status = json_read_object(buf, json_attrs_device, endptr);
if (status != 0)
return status;