Add day_item_fork()
Add a new function that can be used to copy one day item into another, cloning the actual item that is linked. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
parent
a1394e9833
commit
3b259b5620
@ -667,6 +667,7 @@ char *day_item_get_mesg(struct day_item *);
|
||||
char *day_item_get_note(struct day_item *);
|
||||
long day_item_get_duration(struct day_item *);
|
||||
int day_item_get_state(struct day_item *);
|
||||
void day_item_fork(struct day_item *, struct day_item *);
|
||||
int day_store_items(long, unsigned *, unsigned *, regex_t *);
|
||||
struct day_items_nb *day_process_storage(struct date *, unsigned,
|
||||
struct day_items_nb *);
|
||||
|
25
src/day.c
25
src/day.c
@ -149,6 +149,31 @@ int day_item_get_state(struct day_item *day)
|
||||
}
|
||||
}
|
||||
|
||||
/* Clone the actual item. */
|
||||
void day_item_fork(struct day_item *day_in, struct day_item *day_out)
|
||||
{
|
||||
day_out->type = day_in->type;
|
||||
day_out->start = day_in->start;
|
||||
|
||||
switch (day_in->type) {
|
||||
case APPT:
|
||||
day_out->item.apt = apoint_dup(day_in->item.apt);
|
||||
break;
|
||||
case EVNT:
|
||||
day_out->item.ev = event_dup(day_in->item.ev);
|
||||
break;
|
||||
case RECUR_APPT:
|
||||
day_out->item.rapt = recur_apoint_dup(day_in->item.rapt);
|
||||
break;
|
||||
case RECUR_EVNT:
|
||||
day_out->item.rev = recur_event_dup(day_in->item.rev);
|
||||
break;
|
||||
default:
|
||||
EXIT(_("unknown item type"));
|
||||
/* NOTREACHED */
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Store the events for the selected day in structure pointed
|
||||
* by day_items. This is done by copying the events
|
||||
|
Loading…
x
Reference in New Issue
Block a user