git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/bug_747_cancel_waiting_tasks'
[enigma2.git]
/
lib
/
dvb
/
db.cpp
diff --git
a/lib/dvb/db.cpp
b/lib/dvb/db.cpp
index 38be6359cabfd4624d6d4e906b63c12d4f210335..0547407132b3b9e765e83d4314b63cb89095398b 100644
(file)
--- a/
lib/dvb/db.cpp
+++ b/
lib/dvb/db.cpp
@@
-3,6
+3,7
@@
#include <lib/dvb/dvb.h>
#include <lib/dvb/frontend.h>
#include <lib/dvb/epgcache.h>
#include <lib/dvb/dvb.h>
#include <lib/dvb/frontend.h>
#include <lib/dvb/epgcache.h>
+#include <lib/base/eenv.h>
#include <lib/base/eerror.h>
#include <lib/base/estring.h>
#include <xmlccwrap/xmlccwrap.h>
#include <lib/base/eerror.h>
#include <lib/base/estring.h>
#include <xmlccwrap/xmlccwrap.h>
@@
-73,7
+74,7
@@
RESULT eBouquet::moveService(const eServiceReference &ref, unsigned int pos)
RESULT eBouquet::flushChanges()
{
RESULT eBouquet::flushChanges()
{
- FILE *f=fopen(
(CONFIGDIR"/enigma2/"+
m_filename).c_str(), "w");
+ FILE *f=fopen(
eEnv::resolve("${sysconfdir}/enigma2/" +
m_filename).c_str(), "w");
if (!f)
return -1;
if ( fprintf(f, "#NAME %s\r\n", m_bouquet_name.c_str()) < 0 )
if (!f)
return -1;
if ( fprintf(f, "#NAME %s\r\n", m_bouquet_name.c_str()) < 0 )
@@
-280,7
+281,7
@@
DEFINE_REF(eDVBDB);
void eDVBDB::reloadServicelist()
{
void eDVBDB::reloadServicelist()
{
- loadServicelist(
CONFIGDIR"/enigma2/lamedb"
);
+ loadServicelist(
eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str()
);
}
void eDVBDB::parseServiceData(ePtr<eDVBService> s, std::string str)
}
void eDVBDB::parseServiceData(ePtr<eDVBService> s, std::string str)
@@
-324,19
+325,11
@@
void eDVBDB::loadServicelist(const char *file)
{
eDebug("---- opening lame channel db");
FILE *f=fopen(file, "rt");
{
eDebug("---- opening lame channel db");
FILE *f=fopen(file, "rt");
- if (!f && strcmp(file, CONFIGDIR"/enigma2/lamedb") == 0)
- {
- struct stat s;
- if ( !stat("lamedb", &s) )
- {
- if ( !stat(CONFIGDIR"/enigma2", &s) )
- {
- rename("lamedb", CONFIGDIR"/enigma2/lamedb" );
- reloadServicelist();
- }
- }
+ if (!f) {
+ eDebug("can't open %s: %m", file);
return;
}
return;
}
+
char line[256];
int version=3;
if ((!fgets(line, 256, f)) || sscanf(line, "eDVB services /%d/", &version) != 1)
char line[256];
int version=3;
if ((!fgets(line, 256, f)) || sscanf(line, "eDVB services /%d/", &version) != 1)
@@
-594,7
+587,7
@@
void eDVBDB::saveServicelist(const char *file)
void eDVBDB::saveServicelist()
{
void eDVBDB::saveServicelist()
{
- saveServicelist(
CONFIGDIR"/enigma2/lamedb"
);
+ saveServicelist(
eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str()
);
}
void eDVBDB::loadBouquet(const char *path)
}
void eDVBDB::loadBouquet(const char *path)
@@
-618,28
+611,20
@@
void eDVBDB::loadBouquet(const char *path)
std::list<eServiceReference> &list = bouquet.m_services;
list.clear();
std::list<eServiceReference> &list = bouquet.m_services;
list.clear();
- std::string p =
CONFIGDIR"/enigma2/"
;
+ std::string p =
eEnv::resolve("${sysconfdir}/enigma2/")
;
p+=path;
eDebug("loading bouquet... %s", p.c_str());
FILE *fp=fopen(p.c_str(), "rt");
p+=path;
eDebug("loading bouquet... %s", p.c_str());
FILE *fp=fopen(p.c_str(), "rt");
- int entries=0;
if (!fp)
{
if (!fp)
{
- struct stat s;
- if ( !stat(path, &s) )
- {
- rename(path, p.c_str() );
- loadBouquet(path);
- return;
- }
- eDebug("failed to open.");
- if ( strstr(path, "bouquets.tv") )
+ eDebug("can't open %s: %m", p.c_str());
+ if (!strcmp(path, "bouquets.tv"))
{
eDebug("recreate bouquets.tv");
bouquet.m_bouquet_name="Bouquets (TV)";
bouquet.flushChanges();
}
{
eDebug("recreate bouquets.tv");
bouquet.m_bouquet_name="Bouquets (TV)";
bouquet.flushChanges();
}
- else if (
strstr(path, "bouquets.radio")
)
+ else if (
!strcmp(path, "bouquets.radio")
)
{
eDebug("recreate bouquets.radio");
bouquet.m_bouquet_name="Bouquets (Radio)";
{
eDebug("recreate bouquets.radio");
bouquet.m_bouquet_name="Bouquets (Radio)";
@@
-647,6
+632,7
@@
void eDVBDB::loadBouquet(const char *path)
}
return;
}
}
return;
}
+ int entries=0;
char line[256];
bool read_descr=false;
eServiceReference *e = NULL;
char line[256];
bool read_descr=false;
eServiceReference *e = NULL;