X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e21cff679bb73bce310e877d5219ec29291dbe10..79d76e9931fa54bb325cafdbf52bc9e17107b391:/lib/dvb/db.cpp?ds=sidebyside diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index ae30e360..109d6a64 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -172,10 +172,13 @@ int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQ switch (query.m_type) { case eDVBChannelQuery::tName: - res = m_service_name_sort.find(query.m_string) != std::string::npos; + res = m_service_name_sort == query.m_string; break; case eDVBChannelQuery::tProvider: - res = m_provider_name.find(query.m_string) != std::string::npos; + if (query.m_string == "Unknown" && m_provider_name.empty()) + res = 1; + else + res = m_provider_name == query.m_string; break; case eDVBChannelQuery::tType: res = ref.getServiceType() == query.m_int; @@ -872,6 +875,7 @@ PyObject *eDVBDB::readSatellites(ePyObject sat_list, ePyObject sat_dict, ePyObje else if (name == "pilot") dest = &pilot; else if (name == "tsid") dest = &tsid; else if (name == "onid") dest = &onid; + else continue; if (dest) { //eDebug("\t\t\tvalue: %s", at->value().c_str()); @@ -998,6 +1002,7 @@ PyObject *eDVBDB::readCables(ePyObject cab_list, ePyObject tp_dict) else if (name == "frequency") dest = &freq; else if (name == "symbol_rate") dest = &sr; else if (name == "fec_inner") dest = &fec; + else continue; if (dest) { tmp = strtol(at->value().c_str(), &end_ptr, 10); @@ -1121,6 +1126,7 @@ PyObject *eDVBDB::readTerrestrials(ePyObject ter_list, ePyObject tp_dict) else if (name == "transmission_mode") dest = &transm; else if (name == "hierarchy_information") dest = &hierarchy; else if (name == "inversion") dest = &inv; + else continue; if (dest) { tmp = strtol(at->value().c_str(), &end_ptr, 10);