From a1394e98330eaaae67eb1567013d27ae1a25b77f Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Fri, 29 Jun 2012 11:23:11 +0200 Subject: Refactor *_dup() * Actually duplicate an item instead of copying data only. * Properly clone an item without a note. * Mark *_dup() public. Signed-off-by: Lukas Fleischer --- src/event.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/event.c') diff --git a/src/event.c b/src/event.c index aed504a..de0ce02 100644 --- a/src/event.c +++ b/src/event.c @@ -50,15 +50,20 @@ void event_free(struct event *ev) mem_free(ev); } -static void event_dup(struct event *in, struct event *bkp) +struct event *event_dup(struct event *in) { - EXIT_IF(!in || !bkp, _("null pointer")); + EXIT_IF(!in, _("null pointer")); - bkp->id = in->id; - bkp->day = in->day; - bkp->mesg = mem_strdup(in->mesg); + struct event *ev = mem_malloc(sizeof(struct event)); + ev->id = in->id; + ev->day = in->day; + ev->mesg = mem_strdup(in->mesg); if (in->note) - bkp->note = mem_strdup(in->note); + ev->note = mem_strdup(in->note); + else + ev->note = NULL; + + return ev; } void event_llist_init(void) -- cgit v1.2.3-54-g00ecf