From 2d5f3497bf9799f8ffe15795f6e91bf643e35589 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 26 Dec 2005 15:09:21 +0100 Subject: [PATCH] Modified cSchedule::Cleanup() (events are always sorted by time) --- HISTORY | 1 + epg.c | 17 +++++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/HISTORY b/HISTORY index bb52b4dd..12eb9488 100644 --- a/HISTORY +++ b/HISTORY @@ -3996,3 +3996,4 @@ Video Disk Recorder Revision History - EPG events that are no longer in the currently broadcasted data stream are now automatically deleted. - Removed an invalid access to Event->schedule in cSchedule::DelEvent(). +- Modified cSchedule::Cleanup() (events are always sorted by time). diff --git a/epg.c b/epg.c index 7fe44905..3407f34f 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 and Rolf Hakenes . * - * $Id: epg.c 1.43 2005/12/26 14:47:55 kls Exp $ + * $Id: epg.c 1.44 2005/12/26 15:09:03 kls Exp $ */ #include "epg.h" @@ -767,15 +767,12 @@ void cSchedule::Cleanup(void) void cSchedule::Cleanup(time_t Time) { cEvent *Event; - for (int a = 0; true ; a++) { - Event = events.Get(a); - if (!Event) - break; - if (!Event->HasTimer() && Event->EndTime() + Setup.EPGLinger * 60 + 3600 < Time) { // adding one hour for safety - DelEvent(Event); - a--; - } - } + while ((Event = events.First()) != NULL) { + if (!Event->HasTimer() && Event->EndTime() + Setup.EPGLinger * 60 + 3600 < Time) // adding one hour for safety + DelEvent(Event); + else + break; + } } void cSchedule::Dump(FILE *f, const char *Prefix, eDumpMode DumpMode, time_t AtTime) const