From: David Woodhouse Date: Fri, 16 Jul 2010 22:00:40 +0000 (+0100) Subject: Handle recurring meetings without end date X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4c334df7bc72e9c6141e2fa4a6ea04fcf1f1ea97;p=users%2Fdwmw2%2Fews-sync.git Handle recurring meetings without end date --- diff --git a/ews2ical.c b/ews2ical.c index 91c4e69..ee42e9e 100644 --- a/ews2ical.c +++ b/ews2ical.c @@ -329,27 +329,18 @@ int process_recurrence(xmlNode *xml_node) } } } - if (weekly_interval && weekday && end_date) { - char enddate_cal[9]; + if (weekly_interval && weekday) { char day[3]; day[0] = toupper(weekday[0]); day[1] = toupper(weekday[1]); day[2] = 0; - enddate_cal[0] = end_date[0]; - enddate_cal[1] = end_date[1]; - enddate_cal[2] = end_date[2]; - enddate_cal[3] = end_date[3]; - - enddate_cal[4] = end_date[5]; - enddate_cal[5] = end_date[6]; - - enddate_cal[6] = end_date[8]; - enddate_cal[7] = end_date[9]; - enddate_cal[8] = 0; - - fprintf(calfile, "RRULE:FREQ=WEEKLY;UNTIL=%sT235959Z;INTERVAL=%s;BYDAY=%s;WKST=SU\n", - enddate_cal, weekly_interval, day); + fprintf(calfile, "RRULE:FREQ=WEEKLY;INTERVAL=%s;BYDAY=%s;WKST=SU", + weekly_interval, day); + if (end_date) + fprintf(calfile, ";UNTIL=%.4s%.2s%.2sT235959Z", + end_date, end_date + 5, end_date + 8); + fputc('\n', calfile); return 0; } return -1;