xmlDocPtr xml_doc;
xmlNode *xml_node;
icaltimezone *icaltz;
- icalcomponent *comp;
+ icalcomponent *comp, *calcomp;
+ icalproperty *prop;
int xmlfd = 0; /* stdin */
char buf[1];
fprintf(stderr, "CalendarItem node not found\n");
return -1;
}
- fprintf(calfile, "BEGIN:VCALENDAR\n");
- fprintf(calfile, "METHOD:PUBLISH\n");
- fprintf(calfile, "VERSION:2.0\n");
+ calcomp = icalcomponent_new_vcalendar();
+ icalcomponent_set_method(calcomp, ICAL_METHOD_PUBLISH);
+ prop = icalproperty_new_version("2.0");
+ icalcomponent_add_property(calcomp, prop);
+
icaltz = get_meeting_timezone(xml_node);
if (!icaltz)
icaltz = get_timezone(xml_node);
if (icaltz) {
icalcomponent *comp = icaltimezone_get_component(icaltz);
- char *vtz = icalcomponent_as_ical_string_r(comp);
- fprintf(calfile, "%s", vtz);
- free(vtz);
+ icalcomponent_add_component(calcomp, comp);
}
comp = icalcomponent_new(ICAL_VEVENT_COMPONENT);
fprintf(stderr, "Unhandled node type '%s'\n", xml_node->name);
#endif
}
+ icalcomponent_add_component(calcomp, comp);
if (1) {
- char *vtz = icalcomponent_as_ical_string_r(comp);
+ char *vtz = icalcomponent_as_ical_string_r(calcomp);
fprintf(calfile, "%s", vtz);
free(vtz);
}
- fprintf(calfile, "END:VCALENDAR\n");
return 0;
}