]> www.infradead.org Git - users/dwmw2/ews-sync.git/commitdiff
Factor out xml_node -> ical conversion function completely
authorDavid Woodhouse <dwmw2@infradead.org>
Sun, 18 Jul 2010 22:31:22 +0000 (23:31 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Sun, 18 Jul 2010 22:31:22 +0000 (23:31 +0100)
ews2ical.c

index 501d901f404aa28178a63ea8b1a17bfa12795c01..2e29eb56d41213476ae1d51dde28242b5d7e4adb 100644 (file)
@@ -35,15 +35,16 @@ int process_itemid(icalcomponent *comp, xmlNode *xmlnode);
 icaltimezone *get_timezone(xmlNode *xmlnode);
 icaltimezone *get_meeting_timezone(xmlNode *xml_node);
 
+icalcomponent *ews_calitem_to_ical(xmlNode *xml_node);
+
 int main(int argc, char **argv)
 {
+       icalcomponent *calcomp;
        xmlDocPtr xml_doc;
        xmlNode *xml_node;
-       icaltimezone *icaltz;
-       icalcomponent *comp, *calcomp;
-       icalproperty *prop;
        int xmlfd = 0; /* stdin */
        char buf[1];
+       char *outbuf;
 
        if (argc >= 2) {
                xmlfd = open(argv[1], O_RDONLY);
@@ -138,6 +139,21 @@ int main(int argc, char **argv)
                return -1;
        }
 
+       calcomp = ews_calitem_to_ical(xml_node);
+
+       outbuf =icalcomponent_as_ical_string_r(calcomp);
+       fprintf(calfile, "%s", outbuf);
+       free(outbuf);
+
+       return 0;
+}
+
+icalcomponent *ews_calitem_to_ical(xmlNode *xml_node)
+{
+       icaltimezone *icaltz;
+       icalcomponent *comp, *calcomp;
+       icalproperty *prop;
+
        calcomp = icalcomponent_new_vcalendar();
        icalcomponent_set_method(calcomp, ICAL_METHOD_PUBLISH);
        prop = icalproperty_new_version("2.0");
@@ -179,13 +195,7 @@ int main(int argc, char **argv)
 #endif
        }
        icalcomponent_add_component(calcomp, comp);
-       if (1) {
-               char *vtz = icalcomponent_as_ical_string_r(calcomp);
-               fprintf(calfile, "%s", vtz);
-               free(vtz);
-       }
-
-       return 0;
+       return calcomp;
 }
 
 int process_mailbox(xmlNode *xml_node, const char **r_name, const char **r_email)