X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a5275b224cc48c49d249501ba029ea932d2c95c2..ad88a7130bd75fa1f932d4ae45a8ebee78df4fc3:/lib/dvb/db.cpp diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index 63e163eb..0b1d4b54 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -114,6 +114,7 @@ RESULT eBouquet::setListName(const std::string &name) } eDVBService::eDVBService() + :m_flags(0) { } @@ -244,8 +245,11 @@ void eDVBDB::reloadServicelist() struct stat s; if ( !stat("lamedb", &s) ) { - rename("lamedb", CONFIGDIR"/enigma2/lamedb" ); - reloadServicelist(); + if ( !stat(CONFIGDIR"/enigma2", &s) ) + { + rename("lamedb", CONFIGDIR"/enigma2/lamedb" ); + reloadServicelist(); + } } return; } @@ -476,6 +480,7 @@ void eDVBDB::saveServicelist() 0); fprintf(f, "%s\n", i->second->m_service_name.c_str()); + fprintf(f, "p:%s", i->second->m_provider_name.c_str()); // write cached pids @@ -488,6 +493,9 @@ void eDVBDB::saveServicelist() ca != i->second->m_ca.end(); ++ca) fprintf(f, ",C:%04x", *ca); + if (i->second->m_flags) + fprintf(f, ",f:%x", i->second->m_flags); + fprintf(f, "\n"); services++; }