diff options
author | Lukas Fleischer <lfleischer@calcurse.org> | 2016-03-27 12:54:10 +0200 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2016-03-27 13:06:18 +0200 |
commit | 9e160fac16e81c42ac368f450b9cc4df29753e00 (patch) | |
tree | 9fe79f9b549f840b0d93cdfd79554e32f8e62dc1 /src/recur.c | |
parent | e1b6d226692ddaa8a9f077796a23317d36cd5d10 (diff) | |
download | calcurse-9e160fac16e81c42ac368f450b9cc4df29753e00.zip |
Do not assume that days always have 86400 seconds
Make that date membership is computed correctly, even if a day has less
than 86400 seconds (e.g. after changing clocks).
Reported-by: Hakan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
Diffstat (limited to 'src/recur.c')
-rw-r--r-- | src/recur.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/recur.c b/src/recur.c index 186acbe..10a2623 100644 --- a/src/recur.c +++ b/src/recur.c @@ -683,7 +683,7 @@ static long diff_years(struct tm lt_start, struct tm lt_end) static int exc_inday(struct excp *exc, long *day_start) { - return (exc->st >= *day_start && exc->st < *day_start + DAYINSEC); + return (date_cmp_day(exc->st, *day_start) == 0); } /* @@ -706,7 +706,7 @@ recur_item_find_occurrence(long item_start, long item_dur, struct tm lt_day, lt_item, lt_item_day; time_t t; - if (day_start < item_start - DAYINSEC + 1) + if (date_cmp_day(day_start, item_start) < 0) return 0; if (rpt_until != 0 && day_start >= rpt_until + item_dur) |