int process_location(icalcomponent *comp, xmlNode *xml_node);
int process_body(icalcomponent *comp, xmlNode *xml_node);
int process_subject(icalcomponent *comp, xmlNode *xml_node);
-int process_recurrence(icalcomponent *comp, xmlNode *xml_node);
+int process_recurrence(icalcomponent *comp, xmlNode *xml_node, icaltimezone *zone);
int process_itemid(icalcomponent *comp, xmlNode *xmlnode);
int process_reminder_mins(icalcomponent *comp, xmlNode *xmlnode);
icaltimezone *get_timezone(xmlNode *xmlnode);
else if (!strcmp((char *)xml_node->name, "Subject"))
process_subject(comp, xml_node);
else if (!strcmp((char *)xml_node->name, "Recurrence"))
- process_recurrence(comp, xml_node);
+ process_recurrence(comp, xml_node, icaltz);
else if (!strcmp((char *)xml_node->name, "ItemId"))
process_itemid(comp, xml_node);
else if (!strcmp((char *)xml_node->name, "ReminderMinutesBeforeStart"))
return 0;
}
-int process_recurrence(icalcomponent *comp, xmlNode *xml_node)
+int process_recurrence(icalcomponent *comp, xmlNode *xml_node, icaltimezone *zone)
{
struct icalrecurrencetype ical_recur;
char *end_date = NULL, *nr_occurrences = NULL;
xmlNode *xml_node2;
ical_recur.freq = ICAL_NO_RECURRENCE;
-
+ if (!zone)
+ fprintf(stderr, "Recurrence with no recognised TimeZone. Hope this is an all-day event\n");
+
for (xml_node = xml_node->children; xml_node; xml_node = xml_node->next) {
if (xml_node->type != XML_ELEMENT_NODE)
continue;