summaryrefslogtreecommitdiff
path: root/libgpsd_core.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-07-14 16:54:54 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-07-14 16:54:54 +0000
commit613a1a57a974bf7531ff11fd442742ac4c09d304 (patch)
tree7087bf586d0e1096711f8da4deabe781eb061547 /libgpsd_core.c
parent827c0946340e883075657836c251909c9daff96f (diff)
downloadgpsd-613a1a57a974bf7531ff11fd442742ac4c09d304.tar.gz
Documentation impriovenents.
Also, call driver wrap hook when we switch to another driver. splint cleanup. Make the fontsize assumption in xgps explicit.
Diffstat (limited to 'libgpsd_core.c')
-rw-r--r--libgpsd_core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libgpsd_core.c b/libgpsd_core.c
index ad11c13e..e71c6606 100644
--- a/libgpsd_core.c
+++ b/libgpsd_core.c
@@ -21,10 +21,13 @@
int gpsd_switch_driver(struct gps_device_t *session, char* typename)
{
struct gps_type_t **dp;
+
/*@ -compmempass @*/
for (dp = gpsd_drivers; *dp; dp++)
if (strcmp((*dp)->typename, typename) == 0) {
gpsd_report(3, "Selecting %s driver...\n", (*dp)->typename);
+ if (session->device_type != NULL && session->device_type->wrapup != NULL)
+ session->device_type->wrapup(session);
/*@i@*/session->device_type = *dp;
if (session->device_type->initializer)
session->device_type->initializer(session);