itsv2agenda: add support for multiline fileds - 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 f4e7114a3838d2bcd8b80fd946a5e4ada83e9b05 /scm/ics2txt/commit/f4e7114a3838d2bcd8b80fd946a5e4ada83e9b05.gph bitreich.org 70 1parent 46202b022c22d7e917ece6bcdb5f8235ac314e09 /scm/ics2txt/commit/46202b022c22d7e917ece6bcdb5f8235ac314e09.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:me@josuah.net bitreich.org 70 iDate: Sun, 20 Jun 2021 21:44:57 +0200 Err bitreich.org 70 i Err bitreich.org 70 itsv2agenda: add support for multiline fileds Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M tsv2agenda.c | 22 ++++++++++++++++++++-- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 20 insertions(+), 2 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/tsv2agenda.c b/tsv2agenda.c /scm/ics2txt/file/tsv2agenda.c.gph bitreich.org 70 i@@ -106,6 +106,25 @@ print_header(AgendaCtx *ctx, struct tm *beg, struct tm *end, size_t *num) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i static void Err bitreich.org 70 i+print_row(AgendaCtx *ctx, char *line, struct tm *beg, struct tm *end, size_t *num) Err bitreich.org 70 i+{ Err bitreich.org 70 i+ print_header(ctx, beg, end, num); Err bitreich.org 70 i+ for (char *cp = line; *cp != '\0'; cp++) { Err bitreich.org 70 i+ if (*cp == '\\') { Err bitreich.org 70 i+ switch (*++cp) { Err bitreich.org 70 i+ case 'n': Err bitreich.org 70 i+ fputc('\n', stdout); Err bitreich.org 70 i+ print_header(ctx, beg, end, num); Err bitreich.org 70 i+ fputs(": ", stdout); Err bitreich.org 70 i+ continue; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ } Err bitreich.org 70 i+ fputc(*cp, stdout); Err bitreich.org 70 i+ } Err bitreich.org 70 i+ fputc('\n', stdout); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i+static void Err bitreich.org 70 i print(AgendaCtx *ctx, char **fields) Err bitreich.org 70 i { Err bitreich.org 70 i struct tm beg = {0}, end = {0}; Err bitreich.org 70 i@@ -130,8 +149,7 @@ print(AgendaCtx *ctx, char **fields) Err bitreich.org 70 i for (size_t i = FIELD_OTHER, row = 0; i < ctx->fieldnum; i++) { Err bitreich.org 70 i if (*fields[i] == '\0') Err bitreich.org 70 i continue; Err bitreich.org 70 i- print_header(ctx, &beg, &end, &row); Err bitreich.org 70 i- fprintf(stdout, "%s\n", fields[i]); Err bitreich.org 70 i+ print_row(ctx, fields[i], &beg, &end, &row); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i ctx->beg = beg; Err bitreich.org 70 .