summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--import.cpp4
-rw-r--r--import.h1
-rw-r--r--parse.cpp24
-rw-r--r--parse.h4
4 files changed, 13 insertions, 20 deletions
diff --git a/import.cpp b/import.cpp
index 6ebf0d1..60d3f3f 100644
--- a/import.cpp
+++ b/import.cpp
@@ -1110,11 +1110,11 @@ cXMLTVEvent *cImport::AddXMLTVEvent(cEPGSource *Source,sqlite3 *Db, const char *
if (!Source) return NULL;
if (!ChannelID) return NULL;
if (!Event) return NULL;
- if (!epdir) return NULL;
+ if (!g->EPDir()) return NULL;
int season,episode,episodeoverall;
char *epshorttext=NULL,*eptitle=NULL;
- if (!cParse::FetchSeasonEpisode(cep2ascii,cutf2ascii,epdir,Event->Title(),
+ if (!cParse::FetchSeasonEpisode(cep2ascii,cutf2ascii,g->EPDir(),Event->Title(),
Event->ShortText(),Event->Description(),
season,episode,episodeoverall,&epshorttext,
&eptitle))
diff --git a/import.h b/import.h
index 8fa5b8a..1c94da3 100644
--- a/import.h
+++ b/import.h
@@ -42,7 +42,6 @@ private:
cCharSetConv *conv;
iconv_t cep2ascii;
iconv_t cutf2ascii;
- const char *epdir;
bool pendingtransaction;
char *RemoveLastCharFromDescription(char *description);
char *Add2Description(char *description, const char *value);
diff --git a/parse.cpp b/parse.cpp
index 484a371..cf0c661 100644
--- a/parse.cpp
+++ b/parse.cpp
@@ -612,7 +612,7 @@ bool cParse::FetchEvent(xmlNodePtr enode, bool useeptext)
int season,episode,episodeoverall;
char *epshorttext=NULL;
char *eptitle=NULL;
- if (FetchSeasonEpisode(cep2ascii,cutf2ascii,epdir,xevent.Title(),xevent.ShortText(),
+ if (FetchSeasonEpisode(cep2ascii,cutf2ascii,g->EPDir(),xevent.Title(),xevent.ShortText(),
xevent.Description(),season,episode,episodeoverall,&epshorttext,
&eptitle))
{
@@ -681,9 +681,9 @@ int cParse::Process(cEPGExecutor &myExecutor,char *buffer, int bufsize)
}
sqlite3 *db=NULL;
- if (sqlite3_open(epgfile,&db)!=SQLITE_OK)
+ if (sqlite3_open(g->EPGFile(),&db)!=SQLITE_OK)
{
- esyslogs(source,"failed to open or create %s",epgfile);
+ esyslogs(source,"failed to open or create %s",g->EPGFile());
xmlFreeDoc(xmltv);
delete schedulesLock;
return 141;
@@ -744,7 +744,7 @@ int cParse::Process(cEPGExecutor &myExecutor,char *buffer, int bufsize)
skipped++;
continue;
}
- cEPGMapping *map=maps->GetMap((const char *) channelid);
+ cEPGMapping *map=g->EPGMappings()->GetMap((const char *) channelid);
if (!map)
{
if ((lerr!=PARSE_NOMAPPING) || (lastchannelid && xmlStrcmp(channelid,lastchannelid)))
@@ -934,25 +934,21 @@ void cParse::CleanupLibXML()
cParse::cParse(cEPGSource *Source, cGlobals *Global)
{
source=Source;
- maps=Global->EPGMappings();
- epgfile=Global->EPGFile();
- epdir=Global->EPDir();
- if (epdir)
+// maps=Global->EPGMappings();
+ if (Global->EPDir())
{
cep2ascii=iconv_open("ASCII//TRANSLIT",Global->EPCodeset());
cutf2ascii=iconv_open("ASCII//TRANSLIT","UTF-8");
}
else
{
- epdir=NULL;
+ cep2ascii=(iconv_t) -1;
+ cutf2ascii=(iconv_t) -1;
}
}
cParse::~cParse()
{
- if (epdir)
- {
- iconv_close(cep2ascii);
- iconv_close(cutf2ascii);
- }
+ if (cep2ascii!=(iconv_t) -1) iconv_close(cep2ascii);
+ if (cutf2ascii!=(iconv_t) -1) iconv_close(cutf2ascii);
}
diff --git a/parse.h b/parse.h
index a4ce12f..fbd65c3 100644
--- a/parse.h
+++ b/parse.h
@@ -34,12 +34,10 @@ class cParse
};
private:
+ cGlobals *g;
iconv_t cep2ascii;
iconv_t cutf2ascii;
- const char *epdir;
- const char *epgfile;
cEPGSource *source;
- cEPGMappings *maps;
cXMLTVEvent xevent;
time_t ConvertXMLTVTime2UnixTime(char *xmltvtime);
bool FetchEvent(xmlNodePtr node, bool useeptext);