}
}
}
- 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;