diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-07-19 10:33:22 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-07-19 10:33:22 +0000 |
| commit | 68794a76cf18bbf9fd6970bdce4e5074896129c7 (patch) | |
| tree | 2f738962d45de959e6e5c8820f0cbd4a83d73ee6 /lib/dvb/dvb.cpp | |
| parent | 87a694395b1942209d18a8a1fc5105cb6ac3d754 (diff) | |
| download | enigma2-68794a76cf18bbf9fd6970bdce4e5074896129c7.tar.gz enigma2-68794a76cf18bbf9fd6970bdce4e5074896129c7.zip | |
fix error handling
Diffstat (limited to 'lib/dvb/dvb.cpp')
| -rw-r--r-- | lib/dvb/dvb.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index fa15d662..4a6da016 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -248,12 +248,12 @@ void eDVBResourceManager::addAdapter(iDVBAdapter *adapter) } } -void eDVBResourceManager::setFrontendSlotInformations(ePyObject list) +PyObject *eDVBResourceManager::setFrontendSlotInformations(ePyObject list) { if (!PyList_Check(list)) { PyErr_SetString(PyExc_StandardError, "eDVBResourceManager::setFrontendSlotInformations argument should be a python list"); - return; + return NULL; } if ((unsigned int)PyList_Size(list) != m_frontend.size()) { @@ -261,14 +261,16 @@ void eDVBResourceManager::setFrontendSlotInformations(ePyObject list) sprintf(blasel, "eDVBResourceManager::setFrontendSlotInformations list size incorrect %d frontends avail, but %d entries in slotlist", m_frontend.size(), PyList_Size(list)); PyErr_SetString(PyExc_StandardError, blasel); - return; + return NULL; } int pos=0; for (eSmartPtrList<eDVBRegisteredFrontend>::iterator i(m_frontend.begin()); i != m_frontend.end(); ++i) { ePyObject obj = PyList_GET_ITEM(list, pos++); - i->m_frontend->setSlotInfo(obj); + if (!i->m_frontend->setSlotInfo(obj)) + return NULL; } + Py_RETURN_NONE; } RESULT eDVBResourceManager::allocateFrontend(ePtr<eDVBAllocatedFrontend> &fe, ePtr<iDVBFrontendParameters> &feparm) |
