]> www.infradead.org Git - users/dwmw2/ews-sync.git/commitdiff
Everything as ical components
authorDavid Woodhouse <dwmw2@infradead.org>
Sun, 18 Jul 2010 22:25:45 +0000 (23:25 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Sun, 18 Jul 2010 22:25:45 +0000 (23:25 +0100)
ews2ical.c

index 102b5b2b13791fd168997648a880b5234ec27ba1..2c1aaa7e30b956de9261830fdfae00a622ed9bca 100644 (file)
@@ -40,7 +40,8 @@ int main(int argc, char **argv)
        xmlDocPtr xml_doc;
        xmlNode *xml_node;
        icaltimezone *icaltz;
-       icalcomponent *comp;
+       icalcomponent *comp, *calcomp;
+       icalproperty *prop;
        int xmlfd = 0; /* stdin */
        char buf[1];
 
@@ -136,18 +137,18 @@ int main(int argc, char **argv)
                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);
 
@@ -177,12 +178,12 @@ int main(int argc, char **argv)
                        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;
 }