1.3.30 Bug: SVDRP timer installation
Commit Message
Patrick Rother wrote:
> Hello.
>
> There seems to be a bug in timer handling.
>
> Please see this SVDRP snapshot:
>
> 220 vdr SVDRP VideoDiskRecorder 1.3.30; Tue Sep 6 10:50:38 2005
> newt 1:S19.2E-133-33-46:----F--:2213:2250:90:30:Sechserpack:
> 550 Timer already defined: 12 1:5:-D-----:2213:2250:40:10:Mensch_Markus:
> lstt 12
> 250 12 1:5:-D-----:2213:2250:40:10:Mensch_Markus:
> newt 1:S19.2E-133-33-46:----F--:2213:2250:90:30:Sechserpack:
> 550 Timer already defined: 12 1:5:-D-----:2213:2250:40:10:Mensch_Markus:
>
> vdr 1.3.30 refuses to install a weekly timer with same start/stop
> time for a different day of week.
>
> I get the new timer in by modifying start to by one minute, so this
> has no actual service impact, but this shall be fixed anyway.
Please try the attached patch.
Klaus
@@ -519,7 +519,10 @@
cTimer *cTimers::GetTimer(cTimer *Timer)
{
for (cTimer *ti = First(); ti; ti = Next(ti)) {
- if (ti->Channel() == Timer->Channel() && ti->Day() == Timer->Day() && ti->Start() == Timer->Start() && ti->Stop() == Timer->Stop())
+ if (ti->Channel() == Timer->Channel() &&
+ (ti->WeekDays() && ti->WeekDays() == Timer->WeekDays() || !ti->WeekDays() && ti->Day() == Timer->Day()) &&
+ ti->Start() == Timer->Start() &&
+ ti->Stop() == Timer->Stop())
return ti;
}
return NULL;