diff options
Diffstat (limited to 'calendar/pcs/calobj.c')
-rw-r--r-- | calendar/pcs/calobj.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/calendar/pcs/calobj.c b/calendar/pcs/calobj.c new file mode 100644 index 0000000000..87dd8db78d --- /dev/null +++ b/calendar/pcs/calobj.c @@ -0,0 +1,48 @@ +/* + * Calendar objects implementations. + * Copyright (C) 1998 the Free Software Foundation + * + * Authors: + * Miguel de Icaza (miguel@gnu.org) + * Federico Mena (federico@gimp.org) + */ +#include "calobj.h" + +iCalObject * +ical_object_new (void) +{ + iCalObject *ico; + + ico = g_new0 (iCalObject); + + ico->seq = -1; + ico->dtstamp = time (NULL); + + return ico; +} + +iCalObject * +ical_new (char *comment, char *organizer, char *summary) +{ + iCalObject *ico; + + ico = ical_object_new (); + + ico->comment = g_strdup (comment); + ico->organizer = g_strdup (organizer); + ico->summary = g_strdup (summary); + + return ico; +} + +#define free_if_defined(x) if (x){ g_free (x); x = 0; } + +void +ical_object_destroy (iCalObject *ico) +{ + free_if_defined (ico->comment); + free_if_defined (ico->organizer); + free_if_defined (ico->summary); + + g_free (ico); +} |