X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/317c6217b933893659bbf2dc80c74eac357e0bd2..726a696a8d423d9f994767f2df01e135f07fca96:/lib/dvb/epgcache.cpp diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index fd09c5ed..1fc83f68 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -461,12 +461,12 @@ void eEPGCache::sectionRead(const __u8 *data, int source, channel_data *channel) --ptr; // Cablecom HACK .. tsid / onid in eit data are incorrect.. so we use - // it from running service (just for current transport stream eit data) - bool use_eit_chid = data[0] == 0x4F || data[0] > 0x5F; + // it from running channel (just for current transport stream eit data) + bool use_transponder_chid = source == SCHEDULE || (source == NOWNEXT && data[0] == 0x4E); eDVBChannelID chid = channel->channel->getChannelID(); uniqueEPGKey service( HILO(eit->service_id), - use_eit_chid ? HILO(eit->original_network_id) : chid.original_network_id.get(), - use_eit_chid ? HILO(eit->transport_stream_id) : chid.transport_stream_id.get() ); + use_transponder_chid ? chid.original_network_id.get() : HILO(eit->original_network_id), + use_transponder_chid ? chid.transport_stream_id.get() : HILO(eit->transport_stream_id)); eit_event_struct* eit_event = (eit_event_struct*) (data+ptr); int eit_event_size; @@ -1600,7 +1600,7 @@ RESULT eEPGCache::getNextTimeEntry(ePtr &result) return -1; } -void fillTuple(ePyObject tuple, char *argstring, int argcount, ePyObject service, eServiceEvent *ptr, ePyObject nowTime, ePyObject service_name ) +void fillTuple(ePyObject tuple, const char *argstring, int argcount, ePyObject service, eServiceEvent *ptr, ePyObject nowTime, ePyObject service_name ) { ePyObject tmp; int spos=0, tpos=0; @@ -1661,7 +1661,7 @@ void fillTuple(ePyObject tuple, char *argstring, int argcount, ePyObject service } } -int handleEvent(eServiceEvent *ptr, ePyObject dest_list, char* argstring, int argcount, ePyObject service, ePyObject nowTime, ePyObject service_name, ePyObject convertFunc, ePyObject convertFuncArgs) +int handleEvent(eServiceEvent *ptr, ePyObject dest_list, const char* argstring, int argcount, ePyObject service, ePyObject nowTime, ePyObject service_name, ePyObject convertFunc, ePyObject convertFuncArgs) { if (convertFunc) { @@ -1725,7 +1725,7 @@ PyObject *eEPGCache::lookupEvent(ePyObject list, ePyObject convertFunc) { ePyObject convertFuncArgs; int argcount=0; - char *argstring=NULL; + const char *argstring=NULL; if (!PyList_Check(list)) { PyErr_SetString(PyExc_StandardError, @@ -1871,7 +1871,7 @@ PyObject *eEPGCache::lookupEvent(ePyObject list, ePyObject convertFunc) if (must_get_service_name == 1) { - unsigned int pos; + size_t pos; // filter short name brakets while((pos = name.find("\xc2\x86")) != std::string::npos) name.erase(pos,2); @@ -2316,7 +2316,7 @@ PyObject *eEPGCache::search(ePyObject arg) if (must_get_service_name == 1) { - unsigned int pos; + size_t pos; // filter short name brakets while((pos = name.find("\xc2\x86")) != std::string::npos) name.erase(pos,2);