diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2010-11-29 14:10:30 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2010-11-29 14:10:30 +0100 |
| commit | 26e11cd67e0bbfebd41b860a008f240d3d1b3052 (patch) | |
| tree | 315b51ee43b4675d20025b602cd532343337f8e5 /lib/dvb_ci | |
| parent | 75a14a64a63132874f26b4715cde33e69dbf4b34 (diff) | |
| download | enigma2-26e11cd67e0bbfebd41b860a008f240d3d1b3052.tar.gz enigma2-26e11cd67e0bbfebd41b860a008f240d3d1b3052.zip | |
use std::list instead of std::set for caid/capid pairs to support duplicate caids
refs #621
Diffstat (limited to 'lib/dvb_ci')
| -rw-r--r-- | lib/dvb_ci/dvbci.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index 342f06a6..8a43e5b1 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -297,7 +297,8 @@ void eDVBCIInterfaces::recheckPMTHandlers() if (!pmthandler->getProgramInfo(p)) { int cnt=0; - for (std::set<eDVBServicePMTHandler::program::capid_pair>::reverse_iterator x(p.caids.rbegin()); x != p.caids.rend(); ++x, ++cnt) + std::set<eDVBServicePMTHandler::program::capid_pair> set(p.caids.begin(), p.caids.end()); + for (std::set<eDVBServicePMTHandler::program::capid_pair>::reverse_iterator x(set.rbegin()); x != set.rend(); ++x, ++cnt) caids.push_front(x->caid); if (service && cnt) service->m_ca = caids; |
