diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2002-04-06 14:02:41 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-04-06 14:02:41 +0200 |
commit | 367b3f8c7d128f6e7f48d2304440f08577ab0024 (patch) | |
tree | 955a87aeeff122a3fc8489d3ad83456004220699 /eit.c | |
parent | d00b5d8828ca997e0cfbced124de645594565837 (diff) | |
download | vdr-367b3f8c7d128f6e7f48d2304440f08577ab0024.tar.gz vdr-367b3f8c7d128f6e7f48d2304440f08577ab0024.tar.bz2 |
Fixed a possible hangup when reading a broken epg.data file
Diffstat (limited to 'eit.c')
-rw-r--r-- | eit.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -16,7 +16,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: eit.c 1.43 2002/04/06 11:42:47 kls Exp $ + * $Id: eit.c 1.44 2002/04/06 13:58:59 kls Exp $ ***************************************************************************/ #include "eit.h" @@ -390,12 +390,12 @@ bool cEventInfo::Read(FILE *f, cSchedule *Schedule) case 'e': pEvent = NULL; break; case 'c': // to keep things simple we react on 'c' here - return false; + return true; default: esyslog(LOG_ERR, "ERROR: unexpected tag while reading EPG data: %s", s); return false; } } - return true; + esyslog(LOG_ERR, "ERROR: unexpected end of file while reading EPG data"); } return false; } @@ -754,8 +754,8 @@ bool cSchedule::Read(FILE *f, cSchedules *Schedules) if (1 == sscanf(s + 1, "%u", &uServiceID)) { cSchedule *p = (cSchedule *)Schedules->SetCurrentServiceID(uServiceID); if (p) { - while (cEventInfo::Read(f, p)) - ; // loop stops after having read the closing 'c' + if (!cEventInfo::Read(f, p)) + return false; } } } |