X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/c3238c0e0adb06756462fac7f3bb63758dc7b00c..8699f1cc:/sbr/icalendar.l?ds=inline diff --git a/sbr/icalendar.l b/sbr/icalendar.l index c1e2162b..3a6522ce 100644 --- a/sbr/icalendar.l +++ b/sbr/icalendar.l @@ -11,9 +11,10 @@ #include "h/mh.h" #include "h/icalendar.h" #include "sbr/icalparse.h" +#include "sbr/base64.h" static char *unfold (char *, size_t *); -static void destroy_icallex (); +static void destroy_icallex(void); %} /* @@ -257,7 +258,15 @@ folded-value {VALUE-CHAR}*({fold}{VALUE-CHAR}*)+ . { /* By default, flex will just pass unmatched text. Catch it instead. */ - inform("unexpected input: |%s|\n", icaltext); + contentline *clines = vevents.last->contentlines; + contentline *cline; + + if (clines && (cline = clines->last)) { + if (cline->unexpected == NULL) { + cline->unexpected = charstring_create (0); + } + charstring_append_cstring (cline->unexpected, icaltext); + } } @@ -312,7 +321,7 @@ unfold (char *text, size_t *leng) { * with something other than flex. */ static void -destroy_icallex () { +destroy_icallex(void) { #if defined FLEX_SCANNER && defined YY_FLEX_SUBMINOR_VERSION /* Hack: rely on fact that the the YY_FLEX_SUBMINOR_VERSION #define was added to flex (flex.skl v. 2.163) after