diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-03-10 12:04:41 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-03-10 12:04:41 +0100 |
| commit | e57f94d8f1156deee0874d24c33c98d600c9af0d (patch) | |
| tree | adb06dfb62deb087d158ddeb3e5c53ca8761e835 /lib/dvb_ci/dvbci.cpp | |
| parent | e3673ba34436cd5dd868277c5ea4c4e0f22df575 (diff) | |
| download | enigma2-e57f94d8f1156deee0874d24c33c98d600c9af0d.tar.gz enigma2-e57f94d8f1156deee0874d24c33c98d600c9af0d.zip | |
fix readCICaIds call
Diffstat (limited to 'lib/dvb_ci/dvbci.cpp')
| -rw-r--r-- | lib/dvb_ci/dvbci.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index a68edea8..a0166355 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -921,13 +921,18 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid) char tmp[255]; snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %d slots are available", slotid, m_slots.size()); PyErr_SetString(PyExc_StandardError, tmp); - return 0; } - int idx=0; - ePyObject list = PyList_New(slot->possible_caids.size()); - for (caidSet::iterator it = slot->possible_caids.begin(); it != slot->possible_caids.end(); ++it) - PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); - return list; + else + { + int idx=0; + eDVBCICAManagerSession *ca_manager = slot->getCAManager(); + const std::vector<uint16_t> &ci_caids = ca_manager->getCAIDs(); + ePyObject list = PyList_New(ci_caids.size()); + for (std::vector<uint16_t>::const_iterator it = ci_caids.begin(); it != ci_caids.end(); ++it) + PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); + return list; + } + return 0; } int eDVBCISlot::send(const unsigned char *data, size_t len) |
