mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Fixed calculating the start time of repeated timers with "first day"
This commit is contained in:
6
timers.c
6
timers.c
@@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: timers.c 1.59 2006/05/07 09:01:00 kls Exp $
|
||||
* $Id: timers.c 1.60 2006/05/25 12:32:11 kls Exp $
|
||||
*/
|
||||
|
||||
#include "timers.h"
|
||||
@@ -347,7 +347,7 @@ bool cTimer::Matches(time_t t, bool Directly, int Margin) const
|
||||
}
|
||||
else {
|
||||
for (int i = -1; i <= 7; i++) {
|
||||
time_t t0 = IncDay(t, i);
|
||||
time_t t0 = IncDay(day ? max(day, t) : t, i);
|
||||
if (DayMatches(t0)) {
|
||||
time_t a = SetTime(t0, begin);
|
||||
time_t b = a + length;
|
||||
@@ -359,7 +359,7 @@ bool cTimer::Matches(time_t t, bool Directly, int Margin) const
|
||||
}
|
||||
}
|
||||
if (!startTime)
|
||||
startTime = day; // just to have something that's more than a week in the future
|
||||
startTime = IncDay(t, 7); // just to have something that's more than a week in the future
|
||||
else if (!Directly && (t > startTime || t > day + SECSINDAY + 3600)) // +3600 in case of DST change
|
||||
day = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user