summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2006-11-27 17:04:48 +0000
committerEric S. Raymond <esr@thyrsus.com>2006-11-27 17:04:48 +0000
commit1641f16400528491a5cceac9d8ed5d6bc117d082 (patch)
tree34ece26563bf06f35957cac0b4d68e5010a93c36 /libgpsd_core.c
parente4e3dace6d3d5f1c99e6219322833ce472af3700 (diff)
downloadgpsd-1641f16400528491a5cceac9d8ed5d6bc117d082.tar.gz
Fixes to SiRF reversion logic...
...including a bug that prevented the configurator method from being called.
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index 3097254e..c5220bb6 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -27,6 +27,7 @@ int gpsd_switch_driver(struct gps_device_t *session, char* typename)
{
struct gps_type_t **dp;
+ gpsd_report(LOG_PROG, "switch_driver(%s) called...\n", typename);
if (session->device_type != NULL &&
strcmp(session->device_type->typename, typename) == 0) {
#ifdef ALLOW_RECONFIGURE
@@ -231,6 +232,7 @@ int gpsd_activate(struct gps_device_t *session, bool reconfigurable)
/*@ +mustfreeonly @*/
gpsd_report(LOG_PROG, "no probe matched...\n");
foundit:
+ session->enable_reconfigure = reconfigurable;
#endif /* NON_NMEA_ENABLE */
session->gpsdata.online = timestamp();
#ifdef SIRF_ENABLE
@@ -265,7 +267,6 @@ int gpsd_activate(struct gps_device_t *session, bool reconfigurable)
session->device_type->probe_subtype(session, session->packet_counter = 0);
#ifdef ALLOW_RECONFIGURE
if (reconfigurable) {
- session->enable_reconfigure = true;
if (session->device_type->configurator != NULL)
session->device_type->configurator(session, session->packet_counter);
}