diff options
author | Jochen Dolze <vdr@dolze.de> | 2011-05-16 07:07:49 +0200 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2011-05-16 07:07:49 +0200 |
commit | 4617585c3621b0174a7c4a2336e0809cd5a6dc8b (patch) | |
tree | 5b2c957699b308fcac7e9d7f5917f9ddf6ff380c /xmltv2vdr.cpp | |
parent | c10985f6d0ac2b79c0b75ca2e9c2f1cec4f5dd9e (diff) | |
download | vdr-plugin-xmltv2vdr-4617585c3621b0174a7c4a2336e0809cd5a6dc8b.tar.gz vdr-plugin-xmltv2vdr-4617585c3621b0174a7c4a2336e0809cd5a6dc8b.tar.bz2 |
Check, if schedule is empty and return a message in case of "merge"
Changed text "append" into "create"
Fixed segfault in cEPGSource::Store
Diffstat (limited to 'xmltv2vdr.cpp')
-rw-r--r-- | xmltv2vdr.cpp | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/xmltv2vdr.cpp b/xmltv2vdr.cpp index 553e9fe..ad4e575 100644 --- a/xmltv2vdr.cpp +++ b/xmltv2vdr.cpp @@ -74,7 +74,7 @@ void cEPGExecutor::Action() cEPGSource::cEPGSource(const char *Name, cEPGMappings *Maps, cTEXTMappings *Texts) { - dsyslog("xmltv2vdr: added epgsource '%s'",Name); + dsyslog("xmltv2vdr: '%s' added epgsource",Name); name=strdup(Name); pipe=false; daysinadvance=0; @@ -85,14 +85,14 @@ cEPGSource::cEPGSource(const char *Name, cEPGMappings *Maps, cTEXTMappings *Text cEPGSource::~cEPGSource() { - dsyslog("xmltv2vdr: removed epgsource '%s'",name); + dsyslog("xmltv2vdr: '%s' epgsource removed",name); free((void *) name); if (parse) delete parse; } bool cEPGSource::ReadConfig() { - dsyslog("xmltv2vdr: reading config of epgsource '%s'",name); + dsyslog("xmltv2vdr: '%s' reading config",name); char *fname=NULL; if (asprintf(&fname,"%s/%s",EPGSOURCES,name)!=-1) { @@ -176,7 +176,7 @@ bool cEPGSource::Execute() cExtPipe p; if (p.Open(name,"r")) { - dsyslog("xmltv2vdr: executing epgsource '%s'",name); + dsyslog("xmltv2vdr: '%s' executing epgsource",name); int c; while ((c=fgetc(p))!=EOF) { @@ -189,30 +189,30 @@ bool cEPGSource::Execute() int returncode=WEXITSTATUS(status); if ((!returncode) && (result)) { - dsyslog("xmltv2vdr: parsing output of '%s'",name); + dsyslog("xmltv2vdr: '%s' parsing output",name); result[l]=0; if (!parse->Process(result,l)) { - esyslog("xmltv2vdr: failed to parse output of '%s'",name); + esyslog("xmltv2vdr: '%s' failed to parse output",name); ret=false; } } else { - esyslog("xmltv2vdr: epgsource '%s' returned with %i",name,returncode); + esyslog("xmltv2vdr: '%s' epgsource returned with %i",name,returncode); ret=false; } } else { - esyslog("xmltv2vdr: failed to execute '%s'",name); + esyslog("xmltv2vdr: '%s' failed to execute",name); ret=false; } if (result) free(result); } else { - esyslog("xmltv2vdr: failed to open pipe for '%s'",name); + esyslog("xmltv2vdr: '%s' failed to open pipe",name); ret=false; } } @@ -221,7 +221,7 @@ bool cEPGSource::Execute() char *fname=NULL; if (asprintf(&fname,"%s/%s.xmltv",EPGSOURCES,name)!=-1) { - dsyslog("xmltv2vdr: reading '%s' from epgsource '%s'",fname,name); + dsyslog("xmltv2vdr: '%s' reading from '%s'",name,fname); int fd=open(fname,O_RDONLY); if (fd!=-1) @@ -237,33 +237,33 @@ bool cEPGSource::Execute() { if (!parse->Process(result,l)) { - esyslog("xmltv2vdr: failed to parse output of '%s'",name); + esyslog("xmltv2vdr: '%s' failed to parse output",name); ret=false; } } else { - esyslog("xmltv2vdr: failed to read '%s' for '%s'",fname,name); + esyslog("xmltv2vdr: '%s' failed to read '%s'",name,fname); ret=false; } free(result); } else { - esyslog("xmltv2vdr: out of memory @'%s'",name); + esyslog("xmltv2vdr: '%s' out of memory",name); ret=false; } } else { - esyslog("xmltv2vdr: failed to stat '%s' for '%s'",fname,name); + esyslog("xmltv2vdr: '%s' failed to stat '%s'",name,fname); ret=false; } close(fd); } else { - esyslog("xmltv2vdr: failed to open '%s' for '%s'",fname,name); + esyslog("xmltv2vdr: '%s' failed to open '%s'",name,fname); ret=false; } free(fname); @@ -287,6 +287,7 @@ void cEPGSource::Store(void) if (asprintf(&fname1,"%s/%s",EPGSOURCES,name)==-1) return; if (asprintf(&fname2,"%s/%s.new",EPGSOURCES,name)==-1) { + esyslog("xmltv2vdr: '%s' out of memory",name); free(fname1); return; } @@ -294,6 +295,7 @@ void cEPGSource::Store(void) FILE *r=fopen(fname1,"r+"); if (!r) { + esyslog("xmltv2vdr: '%s' cannot read %s",name,fname1); free(fname1); free(fname2); return; @@ -303,8 +305,8 @@ void cEPGSource::Store(void) umask(oldmask); if (!w) { + esyslog("xmltv2vdr: '%s' cannot create %s",name,fname2); fclose(r); - fclose(w); unlink(fname2); free(fname1); free(fname2); |