summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>2012-12-26 17:26:33 +0100
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>2012-12-26 17:26:33 +0100
commit1e2aab8adadef02be184e38cb555b7a58482cd97 (patch)
treea1942a0c16793c5cb9579cb7c93115f136cb76fe
parentbe04fbcb73f347160c13d76492b51778b7c8f8fd (diff)
downloadvdr-plugin-inputdev-1e2aab8adadef02be184e38cb555b7a58482cd97.tar.gz
vdr-plugin-inputdev-1e2aab8adadef02be184e38cb555b7a58482cd97.tar.bz2
enhanced list iteration operations
-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);