From 1cb568c0a6c18ec62ebb89ca21a22a77c78cad24 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 19 Jul 2006 19:41:54 -0400 Subject: prune device list on DEVICE_CLOSE Remove a device from the device list when we get DEVICE_CLOSE. --- src/evdev_brain.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/evdev_brain.c') diff --git a/src/evdev_brain.c b/src/evdev_brain.c index 6365577..246666f 100644 --- a/src/evdev_brain.c +++ b/src/evdev_brain.c @@ -462,6 +462,23 @@ evdevNewDriver (evdevDriverPtr driver) return TRUE; } +void +evdevRemoveDevice (evdevDevicePtr pEvdev) +{ + evdevDriverPtr driver; + evdevDevicePtr *device; + + for (driver = evdev_drivers; driver; driver = driver->next) { + for (device = &driver->devices; *device; device = &(*device)->next) { + if (*device == pEvdev) { + *device = pEvdev->next; + pEvdev->next = NULL; + return; + } + } + } +} + Bool evdevGetBits (int fd, evdevBitsPtr bits) { -- cgit v1.2.3