summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-06-15 13:19:23 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-06-15 13:19:23 +0000
commit004619b26fc0a6617279d02ef53d10b7e26053d4 (patch)
tree928298cdfb51a1c6ec001097a8108c0aac0de1ab
parentaa63d4702526eb16b635ef291660d65b77e7fc38 (diff)
downloadgpsd-004619b26fc0a6617279d02ef53d10b7e26053d4.tar.gz
splint cleanup after NAN change.
-rw-r--r--gpsd.c40
-rw-r--r--libgps.c32
-rw-r--r--libgpsd_core.c2
-rw-r--r--nmea_parse.c2
-rw-r--r--xgps.c10
5 files changed, 44 insertions, 42 deletions
diff --git a/gpsd.c b/gpsd.c
index c7af82a8..82e877d1 100644
--- a/gpsd.c
+++ b/gpsd.c
@@ -487,7 +487,7 @@ static int handle_request(int cfd, char *buf, int buflen)
break;
case 'D':
(void)strcpy(phrase, ",D=");
- if (assign_channel(whoami) && !isnan(whoami->device->gpsdata.fix.time))
+ if (assign_channel(whoami) && isnan(whoami->device->gpsdata.fix.time)==0)
(void)unix_to_iso8601(whoami->device->gpsdata.fix.time,
phrase+3, (int)(sizeof(phrase)-3));
else
@@ -495,15 +495,15 @@ static int handle_request(int cfd, char *buf, int buflen)
break;
case 'E':
if (assign_channel(whoami) && have_fix(whoami->device)) {
- if (!isnan(whoami->device->gpsdata.fix.eph)
- || !isnan(whoami->device->gpsdata.fix.epv))
+ if (isnan(whoami->device->gpsdata.fix.eph)==0
+ || isnan(whoami->device->gpsdata.fix.epv)==0)
(void)snprintf(phrase, sizeof(phrase), ",E=%.2f %.2f %.2f",
whoami->device->gpsdata.epe,
whoami->device->gpsdata.fix.eph,
whoami->device->gpsdata.fix.epv);
- else if (!isnan(whoami->device->gpsdata.pdop)
- || !isnan(whoami->device->gpsdata.hdop)
- || !isnan(whoami->device->gpsdata.vdop))
+ else if (isnan(whoami->device->gpsdata.pdop)==0
+ || isnan(whoami->device->gpsdata.hdop)==0
+ || isnan(whoami->device->gpsdata.vdop)==0)
(void)snprintf(phrase, sizeof(phrase), ",E=%.2f %.2f %.2f",
whoami->device->gpsdata.pdop * UERE(whoami->device),
whoami->device->gpsdata.hdop * UERE(whoami->device),
@@ -586,26 +586,26 @@ static int handle_request(int cfd, char *buf, int buflen)
whoami->device->gpsdata.tag[0]!='\0' ? whoami->device->gpsdata.tag : "-",
whoami->device->gpsdata.fix.time, whoami->device->gpsdata.fix.ept,
whoami->device->gpsdata.fix.latitude, whoami->device->gpsdata.fix.longitude);
- if (!isnan(whoami->device->gpsdata.fix.altitude))
+ if (isnan(whoami->device->gpsdata.fix.altitude)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %7.2f",
whoami->device->gpsdata.fix.altitude);
else
(void)strcat(phrase, " ?");
- if (!isnan(whoami->device->gpsdata.fix.eph))
+ if (isnan(whoami->device->gpsdata.fix.eph)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %5.2f", whoami->device->gpsdata.fix.eph);
else
(void)strcat(phrase, " ?");
- if (!isnan(whoami->device->gpsdata.fix.epv))
+ if (isnan(whoami->device->gpsdata.fix.epv)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %5.2f", whoami->device->gpsdata.fix.epv);
else
(void)strcat(phrase, " ?");
- if (!isnan(whoami->device->gpsdata.fix.track))
+ if (isnan(whoami->device->gpsdata.fix.track)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %8.4f %8.3f",
@@ -613,27 +613,27 @@ static int handle_request(int cfd, char *buf, int buflen)
whoami->device->gpsdata.fix.speed);
else
(void)strcat(phrase, " ? ?");
- if (!isnan(whoami->device->gpsdata.fix.climb))
+ if (isnan(whoami->device->gpsdata.fix.climb)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %6.3f",
whoami->device->gpsdata.fix.climb);
else
(void)strcat(phrase, " ?");
- if (!isnan(whoami->device->gpsdata.fix.epd))
+ if (isnan(whoami->device->gpsdata.fix.epd)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %8.4f",
whoami->device->gpsdata.fix.epd);
else
(void)strcat(phrase, " ?");
- if (!isnan(whoami->device->gpsdata.fix.eps))
+ if (isnan(whoami->device->gpsdata.fix.eps)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %5.2f", whoami->device->gpsdata.fix.eps);
else
(void)strcat(phrase, " ?");
- if (!isnan(whoami->device->gpsdata.fix.epc))
+ if (isnan(whoami->device->gpsdata.fix.epc)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %5.2f", whoami->device->gpsdata.fix.epc);
@@ -651,9 +651,9 @@ static int handle_request(int cfd, char *buf, int buflen)
break;
case 'Q':
if (assign_channel(whoami) &&
- (!isnan(whoami->device->gpsdata.pdop)
- || !isnan(whoami->device->gpsdata.hdop)
- || !isnan(whoami->device->gpsdata.vdop)))
+ (isnan(whoami->device->gpsdata.pdop)==0
+ || isnan(whoami->device->gpsdata.hdop)==0
+ || isnan(whoami->device->gpsdata.vdop)==0))
(void)snprintf(phrase, sizeof(phrase), ",Q=%d %.2f %.2f %.2f %.2f %.2f",
whoami->device->gpsdata.satellites_used,
whoami->device->gpsdata.pdop,
@@ -701,7 +701,7 @@ static int handle_request(int cfd, char *buf, int buflen)
(void)strcpy(phrase, ",S=?");
break;
case 'T':
- if (assign_channel(whoami) && have_fix(whoami->device) && !isnan(whoami->device->gpsdata.fix.track))
+ if (assign_channel(whoami) && have_fix(whoami->device) && isnan(whoami->device->gpsdata.fix.track)==0)
(void)snprintf(phrase, sizeof(phrase), ",T=%.4f", whoami->device->gpsdata.fix.track);
else
(void)strcpy(phrase, ",T=?");
@@ -713,7 +713,7 @@ static int handle_request(int cfd, char *buf, int buflen)
(void)strcpy(phrase, ",U=?");
break;
case 'V':
- if (assign_channel(whoami) && have_fix(whoami->device) && !isnan(whoami->device->gpsdata.fix.track))
+ if (assign_channel(whoami) && have_fix(whoami->device) && isnan(whoami->device->gpsdata.fix.track)==0)
(void)snprintf(phrase, sizeof(phrase), ",V=%.3f", whoami->device->gpsdata.fix.speed / KNOTS_TO_KPH);
else
(void)strcpy(phrase, ",V=?");
@@ -753,7 +753,7 @@ static int handle_request(int cfd, char *buf, int buflen)
(void)strcat(phrase, whoami->device->gpsdata.tag);
else
(void)strcat(phrase, "-");
- if (!isnan(whoami->device->gpsdata.sentence_time))
+ if (isnan(whoami->device->gpsdata.sentence_time)==0)
(void)snprintf(phrase+strlen(phrase),
sizeof(phrase)-strlen(phrase),
" %f ",
diff --git a/libgps.c b/libgps.c
index 6d39d67c..9e697224 100644
--- a/libgps.c
+++ b/libgps.c
@@ -278,29 +278,31 @@ static void gps_unpack(char *buf, struct gps_data_t *gpsdata)
alt, eph, epv, track, speed, climb,
epd, eps, epc);
if (st == 14) {
-#define DEFAULT(val, def) (val[0] == '?') ? (def) : atof(val)
- nf.altitude = DEFAULT(alt, NAN);
- nf.eph = DEFAULT(eph, NAN);
- nf.epv = DEFAULT(epv, NAN);
- nf.track = DEFAULT(track, NAN);
- nf.speed = DEFAULT(speed, NAN);
- nf.climb = DEFAULT(climb, NAN);
- nf.epd = DEFAULT(epd, NAN);
- nf.eps = DEFAULT(eps, NAN);
- nf.epc = DEFAULT(epc, NAN);
+#define DEFAULT(val) (val[0] == '?') ? NAN : atof(val)
+ /*@ +floatdouble @*/
+ nf.altitude = DEFAULT(alt);
+ nf.eph = DEFAULT(eph);
+ nf.epv = DEFAULT(epv);
+ nf.track = DEFAULT(track);
+ nf.speed = DEFAULT(speed);
+ nf.climb = DEFAULT(climb);
+ nf.epd = DEFAULT(epd);
+ nf.eps = DEFAULT(eps);
+ nf.epc = DEFAULT(epc);
+ /*@ -floatdouble @*/
#undef DEFAULT
nf.mode = (alt[0] == '?') ? MODE_2D : MODE_3D;
if (nf.mode == MODE_3D)
gpsdata->set |= ALTITUDE_SET | CLIMB_SET;
- if (!isnan(nf.eph))
+ if (isnan(nf.eph)==0)
gpsdata->set |= HERR_SET;
- if (!isnan(nf.epv))
+ if (isnan(nf.epv)==0)
gpsdata->set |= VERR_SET;
- if (!isnan(nf.track))
+ if (isnan(nf.track)==0)
gpsdata->set |= TRACK_SET | SPEED_SET;
- if (!isnan(nf.eps))
+ if (isnan(nf.eps)==0)
gpsdata->set |= SPEEDERR_SET;
- if (!isnan(nf.epc))
+ if (isnan(nf.epc)==0)
gpsdata->set |= CLIMBERR_SET;
gpsdata->fix = nf;
diff --git a/libgpsd_core.c b/libgpsd_core.c
index 207756bd..7335ac3b 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -476,7 +476,7 @@ static gps_mask_t handle_packet(struct gps_device_t *session)
/* if vertical uncertainties are zero this will be too */
session->gpsdata.fix.epc = e/t;
}
- if (!isnan(session->gpsdata.fix.epc))
+ if (isnan(session->gpsdata.fix.epc)==0)
session->gpsdata.set |= CLIMBERR_SET;
}
diff --git a/nmea_parse.c b/nmea_parse.c
index 8310b2dc..651a788f 100644
--- a/nmea_parse.c
+++ b/nmea_parse.c
@@ -270,7 +270,7 @@ static gps_mask_t processGPGGA(int c UNUSED, char *field[], struct gps_data_t *o
* SiRF and Garmin chips, which might have some smoothing
* going on.
*/
- if (!isnan(oldaltitude) || out->fix.time==oldfixtime)
+ if (isnan(oldaltitude)==0 || out->fix.time==oldfixtime)
out->fix.climb = 0;
else {
out->fix.climb = (out->fix.altitude-oldaltitude)/(out->fix.time-oldfixtime);
diff --git a/xgps.c b/xgps.c
index 6310cb36..e415bd1b 100644
--- a/xgps.c
+++ b/xgps.c
@@ -281,7 +281,7 @@ static void update_panel(struct gps_data_t *gpsdata,
XmStringFree(string[i]);
}
/* here are the value fields */
- if (!isnan(gpsdata->fix.time))
+ if (isnan(gpsdata->fix.time)==0)
(void)unix_to_iso8601(gpsdata->fix.time, s, (int)sizeof(s));
else
(void)strcpy(s, "n/a");
@@ -301,22 +301,22 @@ static void update_panel(struct gps_data_t *gpsdata,
else
(void)strcpy(s, "n/a");
XmTextFieldSetString(text_4, s);
- if (gpsdata->fix.mode >= MODE_2D && !isnan(gpsdata->fix.track))
+ if (gpsdata->fix.mode >= MODE_2D && isnan(gpsdata->fix.track)==0)
(void)snprintf(s, sizeof(s), "%f %s", gpsdata->fix.speed*speedunits->factor, speedunits->legend);
else
(void)strcpy(s, "n/a");
XmTextFieldSetString(text_5, s);
- if (gpsdata->fix.mode >= MODE_2D && !isnan(gpsdata->fix.track))
+ if (gpsdata->fix.mode >= MODE_2D && isnan(gpsdata->fix.track)==0)
(void)snprintf(s, sizeof(s), "%f degrees", gpsdata->fix.track);
else
(void)strcpy(s, "n/a");
XmTextFieldSetString(text_6, s);
- if (!isnan(gpsdata->fix.eph))
+ if (isnan(gpsdata->fix.eph)==0)
(void)snprintf(s, sizeof(s), "%f %s", gpsdata->fix.eph * altunits->factor, altunits->legend);
else
(void)strcpy(s, "n/a");
XmTextFieldSetString(text_7, s);
- if (!isnan(gpsdata->fix.epv))
+ if (isnan(gpsdata->fix.epv)==0)
(void)snprintf(s, sizeof(s), "%f %s", gpsdata->fix.epv * altunits->factor, altunits->legend);
else
(void)strcpy(s, "n/a");