aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb_ci/dvbci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dvb_ci/dvbci.cpp')
-rw-r--r--lib/dvb_ci/dvbci.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp
index 883fb5a4..374672ae 100644
--- a/lib/dvb_ci/dvbci.cpp
+++ b/lib/dvb_ci/dvbci.cpp
@@ -297,8 +297,9 @@ void eDVBCIInterfaces::recheckPMTHandlers()
if (!pmthandler->getProgramInfo(p))
{
int cnt=0;
- for (caidSet::reverse_iterator x(p.caids.rbegin()); x != p.caids.rend(); ++x, ++cnt)
- caids.push_front(*x);
+ 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;
}
@@ -738,7 +739,7 @@ PyObject *eDVBCIInterfaces::getDescrambleRules(int slotid)
if (!slot)
{
char tmp[255];
- snprintf(tmp, 255, "eDVBCIInterfaces::getDescrambleRules try to get rules for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+ snprintf(tmp, 255, "eDVBCIInterfaces::getDescrambleRules try to get rules for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
PyErr_SetString(PyExc_StandardError, tmp);
return 0;
}
@@ -790,7 +791,7 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject)
if (!slot)
{
char tmp[255];
- snprintf(tmp, 255, "eDVBCIInterfaces::setDescrambleRules try to set rules for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+ snprintf(tmp, 255, "eDVBCIInterfaces::setDescrambleRules try to set rules for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
PyErr_SetString(PyExc_StandardError, tmp);
return -1;
}
@@ -861,7 +862,7 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject)
if (PyTuple_Size(tuple) != 2)
{
char buf[255];
- snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules provider tuple has %d instead of 2 entries!!", PyTuple_Size(tuple));
+ snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules provider tuple has %zd instead of 2 entries!!", PyTuple_Size(tuple));
PyErr_SetString(PyExc_StandardError, buf);
return -1;
}
@@ -913,7 +914,7 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid)
if (!slot)
{
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());
+ snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
PyErr_SetString(PyExc_StandardError, tmp);
}
else