isupport empty line at the end of the file - ics2txt - convert icalendar .ics file to plain text Err bitreich.org 70 hgit clone git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt URL:git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt bitreich.org 70 1Log /scm/ics2txt/log.gph bitreich.org 70 1Files /scm/ics2txt/files.gph bitreich.org 70 1Refs /scm/ics2txt/refs.gph bitreich.org 70 1Tags /scm/ics2txt/tag bitreich.org 70 1README /scm/ics2txt/file/README.md.gph bitreich.org 70 i--- Err bitreich.org 70 1commit d10df705caaa2ca4e3229af6d5ec76e0f0d301da /scm/ics2txt/commit/d10df705caaa2ca4e3229af6d5ec76e0f0d301da.gph bitreich.org 70 1parent cf0323aa059bf54b2a88046d7e6e17efe16f9a2e /scm/ics2txt/commit/cf0323aa059bf54b2a88046d7e6e17efe16f9a2e.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:me@josuah.net bitreich.org 70 iDate: Mon, 14 Jun 2021 08:31:43 +0200 Err bitreich.org 70 i Err bitreich.org 70 isupport empty line at the end of the file Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M ical.c | 16 +++++++++------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 9 insertions(+), 7 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/ical.c b/ical.c /scm/ics2txt/file/ical.c.gph bitreich.org 70 i@@ -131,7 +131,6 @@ hook_block_begin(IcalParser *p, char *name) Err bitreich.org 70 i return ical_error(p, "max recurion reached"); Err bitreich.org 70 i if (!Xstrlcpy(p->current->name, name)) Err bitreich.org 70 i return ical_error(p, "value too large"); Err bitreich.org 70 i- Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -143,7 +142,6 @@ hook_block_end(IcalParser *p, char *name) Err bitreich.org 70 i p->current--; Err bitreich.org 70 i if (p->current < p->stack) Err bitreich.org 70 i return ical_error(p, "more END: than BEGIN:"); Err bitreich.org 70 i- Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -260,22 +258,25 @@ ical_parse(IcalParser *p, FILE *fp) Err bitreich.org 70 i Err bitreich.org 70 i while (!feof(fp)) { Err bitreich.org 70 i if ((contentline = realloc(contentline, 1)) == NULL) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return ical_error(p, strerror(errno)); Err bitreich.org 70 i *contentline = '\0'; Err bitreich.org 70 i Err bitreich.org 70 i do { Err bitreich.org 70 i do { Err bitreich.org 70 i p->linenum++; Err bitreich.org 70 i- if (getline(&ln, &sz, fp) <= 0) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ if (getline(&ln, &sz, fp) <= 0) { Err bitreich.org 70 i+ if (ferror(fp)) Err bitreich.org 70 i+ return ical_error(p, strerror(errno)); Err bitreich.org 70 i+ goto end; Err bitreich.org 70 i+ } Err bitreich.org 70 i strchomp(ln); Err bitreich.org 70 i } while (*ln == '\0'); Err bitreich.org 70 i Err bitreich.org 70 i if (strappend(&contentline, ln) < 0) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return ical_error(p, strerror(errno)); Err bitreich.org 70 i if ((c = fgetc(fp)) == EOF) { Err bitreich.org 70 i if (ferror(fp)) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return ical_error(p, strerror(errno)); Err bitreich.org 70 i goto done; Err bitreich.org 70 i } Err bitreich.org 70 i } while (c == ' '); Err bitreich.org 70 i@@ -285,6 +286,7 @@ done: Err bitreich.org 70 i if ((err = ical_parse_contentline(p, contentline)) != 0) Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i+end: Err bitreich.org 70 i free(contentline); Err bitreich.org 70 i free(ln); Err bitreich.org 70 i return err; Err bitreich.org 70 .