Avoid unnecessary start time calculations
Rename recur_*_inday() to recur_*_find_occurrence() and use the new functions whenever we actually care about the start time of an occurrence. Reintroduce recur_*_inday() as wrappers to recur_*_find_occurrence() and pass NULL as start time buffer (which means "skip start time calculation"). Keep using these when we only want to know if a recurrent item belongs to a specific day but do not care about the actual start time. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
@@ -432,6 +432,7 @@ app_arg (int add_line, struct date *day, long date, int print_note,
|
||||
{
|
||||
struct apoint *apt = LLIST_TS_GET_DATA (i);
|
||||
struct recur_apoint *ra = LLIST_TS_GET_DATA (j);
|
||||
unsigned occurrence;
|
||||
|
||||
while (i && regex && regexec (regex, apt->mesg, 0, 0, 0) != 0)
|
||||
{
|
||||
@@ -447,7 +448,8 @@ app_arg (int add_line, struct date *day, long date, int print_note,
|
||||
|
||||
if (apt && ra)
|
||||
{
|
||||
if (apt->start <= recur_apoint_inday (ra, today))
|
||||
if (recur_apoint_find_occurrence (ra, today, &occurrence) &&
|
||||
apt->start <= occurrence)
|
||||
ra = NULL;
|
||||
else
|
||||
apt = NULL;
|
||||
|
||||
Reference in New Issue
Block a user