Ihor Radchenko <yanta...@posteo.net> writes: > Thanks! > Note that I did not implement my suggestion because I am concerned if > putting CRLF is safe as every single line ending. > > I am looking at > https://icalendar.org/iCalendar-RFC-5545/3-6-2-to-do-component.html, and > I note that only BEGIN:VTODO and END:VTODO lines must actually have > CRLF. For example, > https://icalendar.org/iCalendar-RFC-5545/3-3-11-text.html has no > mentions of CRLF, but does talk about escaping staff.
My reading of [1] is that all lines must end with CRLF: > The iCalendar object is organized into individual lines of text, > called content lines. Content lines are delimited by a line break, > which is a CRLF sequence And in particular, for the component properties after BEGIN:VTODO, [1] gives the general notation as: > contentline = name *(";" param ) ":" value CRLF For example, the DTSTART notation [2] is: > dtstart = "DTSTART" dtstparam ":" dtstval CRLF And the same is true for all the other properties. [1] https://icalendar.org/iCalendar-RFC-5545/3-1-content-lines.html [2] https://icalendar.org/iCalendar-RFC-5545/3-8-2-4-date-time-start.html