summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inputdev.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/inputdev.c b/inputdev.c
index 4731996..a281645 100644
--- a/inputdev.c
+++ b/inputdev.c
@@ -545,14 +545,12 @@ void cInputDeviceController::remove_device(char const *dev_path)
dev_path, strerror(errno));
} else {
cMutexLock lock(&dev_mutex_);
- cInputDevice *i;
- for (i = devices_.First(); i;
- i = static_cast<class cInputDevice *>(i->Next())) {
- if (i->get_dev_path() == dev_path) {
+ for (cInputDevice *i = devices_.First();
+ i != NULL && dev == NULL;
+ i = devices_.Next(i)) {
+ if (i->Compare(st.st_rdev) == 0)
dev = i;
- break;
- }
}
if (dev != NULL) {
@@ -597,10 +595,9 @@ bool cInputDeviceController::add_device(char const *dev_name)
{
cMutexLock lock(&dev_mutex_);
- cInputDevice *i;
- for (i = devices_.First(); i;
- i = static_cast<class cInputDevice *>(i->Next())) {
+ for (cInputDevice *i = devices_.First(); i;
+ i = devices_.Next(i)) {
if (dev->Compare(*i) == 0) {
dsyslog("%s: device '%s' (%s) already registered\n",
plugin_name(), dev_name, desc);