From 1e2aab8adadef02be184e38cb555b7a58482cd97 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Wed, 26 Dec 2012 17:26:33 +0100 Subject: enhanced list iteration operations --- inputdev.c | 15 ++++++--------- 1 file 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(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(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); -- cgit v1.2.3