diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2015-04-10 16:18:38 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2015-04-10 16:18:38 +0200 |
commit | d354a4a05d1f280a3ab4e011b7f954c409a3229e (patch) | |
tree | 90c2e75ae90b5c9134f67e0261a62e8c0f18cead /src | |
parent | f07ef77437d5a5dd3d190e3e95b38c218638a890 (diff) | |
download | calcurse-d354a4a05d1f280a3ab4e011b7f954c409a3229e.tar.gz calcurse-d354a4a05d1f280a3ab4e011b7f954c409a3229e.zip |
Fix range checks in day_chk_busy_slices()
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/day.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -567,16 +567,19 @@ unsigned day_chk_busy_slices(struct date day, int slicesno, int *slices) recur_apoint_inday, i) { struct recur_apoint *rapt = LLIST_TS_GET_DATA(i); time_t occurrence; - long start; - long end = get_item_time(rapt->start + rapt->dur); + long start, end; if (!recur_apoint_find_occurrence(rapt, t, &occurrence)) continue; - start = get_item_time(occurrence); - if (rapt->start < t) + if (occurrence >= t) + start = get_item_time(occurrence); + else start = 0; - if (rapt->start + rapt->dur >= t + DAYINSEC) + + if (occurrence + rapt->dur < t + DAYINSEC) + end = get_item_time(occurrence + rapt->dur); + else end = DAYINSEC - 1; if (!fill_slices |