]> www.infradead.org Git - users/dwmw2/ews-sync.git/commitdiff
Handle recurring meetings without end date
authorDavid Woodhouse <dwmw2@infradead.org>
Fri, 16 Jul 2010 22:00:40 +0000 (23:00 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Fri, 16 Jul 2010 22:00:40 +0000 (23:00 +0100)
ews2ical.c

index 91c4e69febdf8f7f4b985334152f7e3351d41d2e..ee42e9ed78963d62661a734bb181249ab399fd7c 100644 (file)
@@ -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;