xmlNode *xml_node2;
const char *weekly_interval = NULL;
const char *weekday = NULL;
- const char *end_date = NULL;
+ const char *daily_interval = NULL;
const char *day_of_month = NULL;
const char *month = NULL;
+ const char *end_date = NULL;
const char *nr_recurrences = NULL;
for (xml_node = xml_node->children; xml_node; xml_node = xml_node->next) {
else if (!strcmp((char *)xml_node2->name, "DaysOfWeek"))
weekday = (char *)xmlNodeGetContent(xml_node2);
}
+ } else if (!strcmp((char *)xml_node->name, "DailyRecurrence")) {
+ for (xml_node2 = xml_node->children; xml_node2;
+ xml_node2 = xml_node2->next) {
+ if (xml_node2->type != XML_ELEMENT_NODE)
+ continue;
+ if (!strcmp((char *)xml_node2->name, "Interval"))
+ daily_interval = (char *)xmlNodeGetContent(xml_node2);
+ }
} else if (!strcmp((char *)xml_node->name, "AbsoluteYearlyRecurrence")) {
for (xml_node2 = xml_node->children; xml_node2;
xml_node2 = xml_node2->next) {
else if (!strcmp((char *)xml_node2->name, "Month"))
month = (char *)xmlNodeGetContent(xml_node2);
}
+ } else if (!strcmp((char *)xml_node->name, "RelativeYearlyRecurrence")) {
+ fprintf(stderr, "Cannot yet handle %s\n", xml_node->name);
+ } else if (!strcmp((char *)xml_node->name, "AbsoluteMonthlyRecurrence")) {
+ fprintf(stderr, "Cannot yet handle %s\n", xml_node->name);
+ } else if (!strcmp((char *)xml_node->name, "RelativeMonthlyRecurrence")) {
+ fprintf(stderr, "Cannot yet handle %s\n", xml_node->name);
} else if (!strcmp((char *)xml_node->name, "EndDateRecurrence")) {
for (xml_node2 = xml_node->children; xml_node2;
xml_node2 = xml_node2->next) {
}
}
}
- if (day_of_month && month) {
+ if (daily_interval) {
+ fprintf(calfile, "RRULE:FREQ=DAILY;INTERVAL=%s", daily_interval);
+ } else if (day_of_month && month) {
int monthnr;
for (monthnr = 0; monthnr < 12; monthnr++)
if (!strcmp(month, months[monthnr]))