aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/calendar.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/calendar.c')
-rw-r--r--calendar/gui/calendar.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/calendar/gui/calendar.c b/calendar/gui/calendar.c
index e6c6dddf59..cffd2476c4 100644
--- a/calendar/gui/calendar.c
+++ b/calendar/gui/calendar.c
@@ -358,15 +358,15 @@ vcalendar_create_from_calendar (Calendar *cal)
VObject *vcal;
GList *l;
time_t now = time (NULL);
- struct tm *tm;
+ struct tm tm;
/* WE call localtime for the side effect of setting tzname */
- tm = localtime (&now);
+ tm = *localtime (&now);
vcal = newVObject (VCCalProp);
addPropValue (vcal, VCProdIdProp, "-//GNOME//NONSGML GnomeCalendar//EN");
#if defined(HAVE_TM_ZONE)
- addPropValue (vcal, VCTimeZoneProp, tm->tm_zone);
+ addPropValue (vcal, VCTimeZoneProp, tm.tm_zone);
#elif defined(HAVE_TZNAME)
addPropValue (vcal, VCTimeZoneProp, tzname[0]);
#endif
@@ -391,6 +391,9 @@ vcalendar_create_from_calendar (Calendar *cal)
addVObjectProp (vcal, obj);
}
+ cleanVObject (vcal);
+ cleanStrTbl ();
+
return vcal;
}
@@ -417,8 +420,8 @@ calendar_save (Calendar *cal, char *fname)
g_free (backup_name);
}
- fp = fopen(fname,"w");
- if (fp) {
+ fp = fopen(fname,"w");
+ if (fp) {
writeVObject(fp, vcal);
fclose(fp);
if (strcmp(cal->filename, fname)) {
@@ -430,10 +433,10 @@ calendar_save (Calendar *cal, char *fname)
cal->file_time = s.st_mtime;
} else {
dlg = gnome_message_box_new(_("Failed to save calendar!"),
- GNOME_MESSAGE_BOX_ERROR, "Ok", NULL);
+ GNOME_MESSAGE_BOX_ERROR, "Ok", NULL);
gtk_widget_show(dlg);
}
-
+
cleanVObject (vcal);
cleanStrTbl ();
}