summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2011-04-16 13:36:07 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2011-04-19 11:42:35 +0200
commit2438470fd3a3c61a0d360ed14d564cb73036b811 (patch)
treed91b7a1b1553648e4c26cdb3fc4a17ba9b084401
parent153c638d1d08484b96c1fbd3372aa13d75a3de63 (diff)
downloadcalcurse-2438470fd3a3c61a0d360ed14d564cb73036b811.zip
Add recur_apoint_inday() and recur_event_inday().
To be used with llist_fn_match_t callbacks later. I feel a bit ill adding those functions. This definitely is a hack. Ultimately, there should be some generic recur_item_inday() function that accepts both recurring apointments and events (or some wrapper structure) instead of parameter galeere. This is not the right place to fix that tho. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
-rw-r--r--src/calcurse.h2
-rw-r--r--src/recur.c14
2 files changed, 16 insertions, 0 deletions
diff --git a/src/calcurse.h b/src/calcurse.h
index d97dc6b..4981a59 100644
--- a/src/calcurse.h
+++ b/src/calcurse.h
@@ -790,6 +790,8 @@ struct recur_event *recur_event_scan (FILE *, struct tm, int, char,
void recur_save_data (FILE *);
unsigned recur_item_inday (long, struct days *, int, int,
long, long);
+unsigned recur_apoint_inday(struct recur_apoint *, long);
+unsigned recur_event_inday(struct recur_event *, long);
void recur_event_erase (long, unsigned, unsigned,
enum eraseflg);
void recur_apoint_erase (long, unsigned, unsigned,
diff --git a/src/recur.c b/src/recur.c
index 2a08cd1..c781c01 100644
--- a/src/recur.c
+++ b/src/recur.c
@@ -728,6 +728,20 @@ recur_item_inday (long item_start, struct days *item_exc, int rpt_type,
return (0);
}
+unsigned
+recur_apoint_inday(struct recur_apoint *rapt, long day_start)
+{
+ return recur_item_inday (rapt->start, rapt->exc, rapt->rpt->type,
+ rapt->rpt->freq, rapt->rpt->until, day_start);
+}
+
+unsigned
+recur_event_inday(struct recur_event *rev, long day_start)
+{
+ return recur_item_inday (rev->day, rev->exc, rev->rpt->type, rev->rpt->freq,
+ rev->rpt->until, day_start);
+}
+
/*
* Delete a recurrent event from the list (if delete_whole is not null),
* or delete only one occurence of the recurrent event.