diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-10-11 13:06:55 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-10-21 08:58:54 +0200 |
commit | 2bf02493385ffe5e51b5480e57f9643bc80b8267 (patch) | |
tree | 3c791cc59ef006c689c7c2bda79e3a2222ecf51b /src/args.c | |
parent | 28c98f7d0136b4a533e26f076886aa242c709f1c (diff) | |
download | calcurse-2bf02493385ffe5e51b5480e57f9643bc80b8267.zip |
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>
Diffstat (limited to 'src/args.c')
-rw-r--r-- | src/args.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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; |