summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--epg.c8
-rw-r--r--recording.c11
4 files changed, 17 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 208ddb47..af0bc06f 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -920,6 +920,7 @@ Peter Bieringer <pb@bieringer.de>
for reporting a problem with duplicate recordings with the same file name
for suggesting to implement the command line option '--vfat'
for reporting a leftover 'summary.vdr' in vdr.5
+ for adding more error messages and line numbers when reading EPG data and info.vdr
Alexander Damhuis <ad@phonedation.de>
for reporting problems when deleting a timer that is currently recording
diff --git a/HISTORY b/HISTORY
index 4bc76632..5f945030 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3899,3 +3899,5 @@ Video Disk Recorder Revision History
to Darren Salt).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed a leftover 'summary.vdr' in vdr.1 (reported by Christoph Hermanns).
+- Added more error messages and line numbers when reading EPG data and info.vdr
+ (thanks to Peter Bieringer).
diff --git a/epg.c b/epg.c
index 4377c6d3..0bdd185c 100644
--- a/epg.c
+++ b/epg.c
@@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
- * $Id: epg.c 1.37 2005/09/09 15:14:11 kls Exp $
+ * $Id: epg.c 1.38 2005/10/09 12:57:55 kls Exp $
*/
#include "epg.h"
@@ -285,8 +285,10 @@ bool cEvent::Read(FILE *f, cSchedule *Schedule)
if (Schedule) {
cEvent *Event = NULL;
char *s;
+ int line = 0;
cReadLine ReadLine;
while ((s = ReadLine.Read(f)) != NULL) {
+ line++;
char *t = skipspace(s + 1);
switch (*s) {
case 'E': if (!Event) {
@@ -316,8 +318,10 @@ bool cEvent::Read(FILE *f, cSchedule *Schedule)
break;
case 'c': // to keep things simple we react on 'c' here
return true;
- default: if (Event && !Event->Parse(s))
+ default: if (Event && !Event->Parse(s)) {
+ esyslog("ERROR: EPG data problem in line %d", line);
return false;
+ }
}
}
esyslog("ERROR: unexpected end of file while reading EPG data");
diff --git a/recording.c b/recording.c
index 9e969224..6fb76d97 100644
--- a/recording.c
+++ b/recording.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.c 1.120 2005/10/01 10:29:02 kls Exp $
+ * $Id: recording.c 1.121 2005/10/09 13:09:51 kls Exp $
*/
#include "recording.h"
@@ -264,7 +264,9 @@ bool cRecordingInfo::Read(FILE *f)
if (ownEvent) {
cReadLine ReadLine;
char *s;
+ int line = 0;
while ((s = ReadLine.Read(f)) != NULL) {
+ ++line;
char *t = skipspace(s + 1);
switch (*s) {
case 'C': {
@@ -275,8 +277,10 @@ bool cRecordingInfo::Read(FILE *f)
channelID = tChannelID::FromString(t);
}
break;
- default: if (!ownEvent->Parse(s))
+ default: if (!ownEvent->Parse(s)) {
+ esyslog("ERROR: EPG data problem in line %d", line);
return false;
+ }
break;
}
}
@@ -478,7 +482,8 @@ cRecording::cRecording(const char *FileName)
asprintf(&InfoFileName, "%s%s", fileName, INFOFILESUFFIX);
FILE *f = fopen(InfoFileName, "r");
if (f) {
- info->Read(f);
+ if (!info->Read(f))
+ esyslog("ERROR: EPG data problem in file %s", InfoFileName);
fclose(f);
}
else if (errno != ENOENT)