diff options
author | Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> | 2012-12-26 17:26:33 +0100 |
---|---|---|
committer | Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> | 2012-12-26 17:26:33 +0100 |
commit | 1e2aab8adadef02be184e38cb555b7a58482cd97 (patch) | |
tree | a1942a0c16793c5cb9579cb7c93115f136cb76fe | |
parent | be04fbcb73f347160c13d76492b51778b7c8f8fd (diff) | |
download | vdr-plugin-inputdev-1e2aab8adadef02be184e38cb555b7a58482cd97.tar.gz vdr-plugin-inputdev-1e2aab8adadef02be184e38cb555b7a58482cd97.tar.bz2 |
enhanced list iteration operations
-rw-r--r-- | inputdev.c | 15 |
1 files changed, 6 insertions, 9 deletions
@@ -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); |