From 88588ad704329939834b45eb2058fb48f0a5068f Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Sat, 7 Jul 2012 18:10:12 +0200 Subject: Refactor exception handling Remove the exception handling code from recur_*_erase() and move it to separate functions recur_*_add_exc(). Create a wrapper function day_item_add_exc() that can be used to add an exception to generic items. Signed-off-by: Lukas Fleischer --- src/day.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/day.c') diff --git a/src/day.c b/src/day.c index 10caa05..bb949dc 100644 --- a/src/day.c +++ b/src/day.c @@ -168,6 +168,17 @@ int day_item_get_state(struct day_item *day) } } +/* Add an exception to an item. */ +void day_item_add_exc(struct day_item *day, long date) +{ + switch (day->type) { + case RECUR_EVNT: + recur_event_add_exc(day->item.rev, date); + case RECUR_APPT: + recur_apoint_add_exc(day->item.rapt, date); + } +} + /* Clone the actual item. */ void day_item_fork(struct day_item *day_in, struct day_item *day_out) { @@ -648,13 +659,13 @@ struct day_item *day_cut_item(long date, int item_number) event_delete(p->item.ev, ERASE_CUT); break; case RECUR_EVNT: - recur_event_erase(p->item.rev, date, 1, ERASE_CUT); + recur_event_erase(p->item.rev, ERASE_CUT); break; case APPT: apoint_delete(p->item.apt, ERASE_CUT); break; case RECUR_APPT: - recur_apoint_erase(p->item.rapt, date, 1, ERASE_CUT); + recur_apoint_erase(p->item.rapt, ERASE_CUT); break; default: EXIT(_("unknwon type")); -- cgit v1.2.3-54-g00ecf