From 9e72a1e13589a0f0768249f23f413e316df3bf2b Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 6 Jul 2005 11:42:49 +0000 Subject: Ready to ship 2.27. --- HACKING | 6 ------ drivers.c | 2 +- gpsd.c | 6 +++--- gpsd.spec.in | 4 +++- test/garmin17n.log.chk | 6 +++--- 5 files changed, 10 insertions(+), 14 deletions(-) diff --git a/HACKING b/HACKING index 17a60a64..5c47308a 100644 --- a/HACKING +++ b/HACKING @@ -642,12 +642,6 @@ expert, reckons that at 4800bps the UART buffering can cause at most about 15msec of jitter. This is, observably, swamped by other less controllable sources of variation. -*** Evermore binary protocol - -Described at . -Doesn't seem to support any capabilities that NMEA doesn't, other -than shipping TDOP. - Local variables: mode: outline paragraph-separate: "[ ]*$" diff --git a/drivers.c b/drivers.c index d54f066e..720e175b 100644 --- a/drivers.c +++ b/drivers.c @@ -76,7 +76,7 @@ static struct gps_type_t nmea = { "Generic NMEA", /* full name of type */ NULL, /* no recognition string, it's the default */ NULL, /* no probe */ - nmea_initializer, /* probe for SiRF II */ + nmea_initializer, /* probe for SiRF II and other special types */ packet_get, /* how to get a packet */ nmea_parse_input, /* how to interpret a packet */ nmea_write_rtcm, /* write RTCM data straight */ diff --git a/gpsd.c b/gpsd.c index ed56f14d..b02f208f 100644 --- a/gpsd.c +++ b/gpsd.c @@ -470,7 +470,7 @@ static int handle_request(int cfd, char *buf, int buflen) (void)strcpy(phrase, ",A=?"); break; case 'B': /* change baud rate (SiRF/Zodiac only) */ - if (assign_channel(whoami) && whoami->device->device_type && *p=='=') { + if (assign_channel(whoami) && whoami->device->device_type!=NULL && *p=='=') { i = atoi(++p); while (isdigit(*p)) p++; if (whoami->device->device_type->speed_switcher) @@ -507,7 +507,7 @@ static int handle_request(int cfd, char *buf, int buflen) (void)strcpy(phrase, ",B=?"); break; case 'C': - if (assign_channel(whoami) && whoami->device->device_type) + if (assign_channel(whoami) && whoami->device->device_type!=NULL) (void)snprintf(phrase, sizeof(phrase), ",C=%d", whoami->device->device_type->cycle); else @@ -547,7 +547,7 @@ static int handle_request(int cfd, char *buf, int buflen) (void)strcpy(phrase, ",F=?"); break; case 'I': - if (assign_channel(whoami) && whoami->device->device_type) + if (assign_channel(whoami) && whoami->device->device_type!=NULL) (void)snprintf(phrase, sizeof(phrase), ",I=%s", whoami->device->device_type->typename); else diff --git a/gpsd.spec.in b/gpsd.spec.in index fdc653cd..f68cb6ca 100644 --- a/gpsd.spec.in +++ b/gpsd.spec.in @@ -126,7 +126,7 @@ cp gps.py gpsfake.py "$RPM_BUILD_ROOT"%{_libdir}/python${PYVERSION}/site-package %{_libdir}/X11/app-defaults/xgpsspeed %changelog -* Thu Jul 01 2005 Eric S. Raymond - 2.27 +* Wed Jul 06 2005 Eric S. Raymond - 2.27 - Arrange for the daemon to remove its pid file on exit. Fix some buffering problems with the Python side of the hotplug interface. gpsfake can now run sessions under a monitor like Valgrind. Most @@ -140,6 +140,8 @@ cp gps.py gpsfake.py "$RPM_BUILD_ROOT"%{_libdir}/python${PYVERSION}/site-package no longer relies on FIONREAD working. The track error field in the O response is now computed. The project website has some new eye candy. Client connections now time out when the mode is neither raw nor watcher. + Fixed a core-dump that could happen if C, B or I commands were issued + at odd times. * Wed Jun 22 2005 Eric S. Raymond - 2.26 - Time DOP and total DOP are now passed on from GPSes that report diff --git a/test/garmin17n.log.chk b/test/garmin17n.log.chk index 269f8b1f..0ad0c944 100644 --- a/test/garmin17n.log.chk +++ b/test/garmin17n.log.chk @@ -4,7 +4,7 @@ GPSD,O=RMC 1110965882.00 0.005 52.219065 21.010852 ? ? ? $GPGGA,093802,5213.1439,N,02100.6511,E,2,10,0.9,137.2,M,36.2,M,,*43 GPSD,O=GGA 1110965882.00 0.005 52.219065 21.010852 137.20 ? ? 226.0000 0.000 0.000 ? ? ? $GPGSA,A,3,03,06,15,16,18,19,21,22,,27,29,,1.6,0.9,1.3*34 -GPSD,O=GSA 1110965882.00 0.005 52.219065 21.010852 137.20 7.20 10.40 226.0000 0.000 0.000 ? ? ? +GPSD,O=GSA 1110965882.00 0.005 52.219065 21.010852 137.20 1.80 2.60 226.0000 0.000 0.000 ? ? ? $GPGSV,3,2,12,18,50,135,50,19,15,291,46,21,59,069,51,22,30,169,49*75 $PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093802,A,D*48 @@ -19,12 +19,12 @@ GPSD,O=RMC 1110965883.00 0.005 52.219065 21.010852 ? ? ? $GPGGA,093803,5213.1439,N,02100.6511,E,2,10,0.9,137.2,M,36.2,M,,*42 GPSD,O=GGA 1110965883.00 0.005 52.219065 21.010852 137.20 ? ? 226.0000 0.000 0.000 ? ? ? $GPGSA,A,3,03,06,15,16,18,19,21,22,,27,29,,1.6,0.9,1.3*34 -GPSD,O=GSA 1110965883.00 0.005 52.219065 21.010852 137.20 7.20 10.40 226.0000 0.000 0.000 ? 8.90 ? +GPSD,O=GSA 1110965883.00 0.005 52.219065 21.010852 137.20 1.80 2.60 226.0000 0.000 0.000 ? 3.50 ? $GPGSV,3,3,12,26,14,065,48,27,08,336,38,29,14,048,44,44,18,130,41*78 GPSD,Y=GSV ? 8:18 50 135 50 1:19 15 291 46 1:21 59 69 51 1:22 30 169 49 1:26 14 65 48 0:27 8 336 38 1:29 14 48 44 1:44 18 130 41 0: $PGRME,1.7,M,2.4,M,3.0,M*2D $GPGLL,5213.1439,N,02100.6511,E,093803,A,D*49 -GPSD,O=GLL 1110965883.00 0.005 52.219065 21.010852 137.20 1.70 2.40 226.0000 0.000 0.000 ? 8.90 ? +GPSD,O=GLL 1110965883.00 0.005 52.219065 21.010852 137.20 1.70 2.40 226.0000 0.000 0.000 ? 3.50 ? $GPVTG,226,T,222,M,000.0,N,0000.0,K,D*12 $PGRMV,0.0,0.0,0.0*5C $PGRMF,290,293896,160305,093803,13,5213.1439,N,02100.6511,E,A,2,0,226,2,1*13 -- cgit v1.2.1