Skip to content

Commit c4e2279

Browse files
committed
[eDVBDB]
* improve subbouquet file name handling
1 parent 3253ba6 commit c4e2279

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

lib/dvb/db.cpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2593,10 +2593,13 @@ RESULT eDVBDB::addOrUpdateBouquet(const std::string &name, const std::string &fi
25932593
/* bouquet doesn't yet exist, create a new one */
25942594
if (!db->getBouquet(rootref, bouquet) && bouquet)
25952595
{
2596-
if (isAddedFirst)
2597-
bouquet->m_services.push_front(bouquetref);
2598-
else
2599-
bouquet->m_services.push_back(bouquetref);
2596+
if (filename.find("subbouquet.") == std::string::npos)
2597+
{
2598+
if (isAddedFirst)
2599+
bouquet->m_services.push_front(bouquetref);
2600+
else
2601+
bouquet->m_services.push_back(bouquetref);
2602+
}
26002603
bouquet->flushChanges();
26012604
}
26022605
/* loading the bouquet seems to be the only way to add it to the bouquet list */
@@ -2719,6 +2722,13 @@ RESULT eDVBDB::removeBouquet(const std::string &filename_regex)
27192722
std::string path = entry->d_name;
27202723
if (std::regex_search(path, std::regex(filename_regex)))
27212724
{
2725+
if (path.find("subbouquet.") != std::string::npos) {
2726+
int status = std::remove((p+path).c_str());
2727+
if (status != 0) {
2728+
eDebug("[eDVBDB] Error: remove file '%s'.", path.c_str());
2729+
}
2730+
continue;
2731+
}
27222732
std::string bouquetquery = "FROM BOUQUET \"" + path + "\" ORDER BY bouquet";
27232733
eServiceReference bouquetref(eServiceReference::idDVB, eServiceReference::flagDirectory, bouquetquery);
27242734
bouquetref.setData(0, type);

0 commit comments

Comments
 (0)