itsv2agenda: show everything by default - 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 44e416da284ed08d3ed7b47f2d70a333433930f4 /scm/ics2txt/commit/44e416da284ed08d3ed7b47f2d70a333433930f4.gph bitreich.org 70
1parent d1604d44d1926ce38a94073ad8d55b2c8a99d172 /scm/ics2txt/commit/d1604d44d1926ce38a94073ad8d55b2c8a99d172.gph bitreich.org 70
hAuthor: Josuah Demangeon <me@josuah.net> URL:mailto:me@josuah.net bitreich.org 70
iDate: Fri, 25 Jun 2021 22:46:59 +0200 Err bitreich.org 70
i Err bitreich.org 70
itsv2agenda: show everything by default Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M tsv2agenda.1 | 2 +- Err bitreich.org 70
i M tsv2agenda.c | 46 ++++++++++++++++---------------- Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 24 insertions(+), 24 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/tsv2agenda.1 b/tsv2agenda.1 /scm/ics2txt/file/tsv2agenda.1.gph bitreich.org 70
i@@ -31,7 +31,7 @@ the output (if not empty). Err bitreich.org 70
i .It Fl f Ar fromdate Err bitreich.org 70
i Show only events starting from Err bitreich.org 70
i .Ar fromdate . Err bitreich.org 70
i-By default the current time: showing all future events. Err bitreich.org 70
i+By default show everything from the beggining. Err bitreich.org 70
i . Err bitreich.org 70
i .It Fl t Ar todate Err bitreich.org 70
i Show only events up to Err bitreich.org 70
1diff --git a/tsv2agenda.c b/tsv2agenda.c /scm/ics2txt/file/tsv2agenda.c.gph bitreich.org 70
i@@ -185,26 +185,26 @@ print(AgendaCtx *ctx, char **fields) Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i static void Err bitreich.org 70
i-tsv_to_agenda(AgendaCtx *ctx, FILE *fp) Err bitreich.org 70
i+tsv2agenda(FILE *fp) Err bitreich.org 70
i { Err bitreich.org 70
i- char *ln1 = NULL, *ln2 = NULL; Err bitreich.org 70
i+ AgendaCtx ctx = {0}; Err bitreich.org 70
i+ char *line = NULL; Err bitreich.org 70
i size_t sz1 = 0, sz2 = 0; Err bitreich.org 70
i Err bitreich.org 70
i- if (ctx->linenum == 0) { Err bitreich.org 70
i+ if (ctx.linenum == 0) { Err bitreich.org 70
i char *fields[FIELD_MAX]; Err bitreich.org 70
i Err bitreich.org 70
i- ctx->linenum++; Err bitreich.org 70
i- getline(&ln1, &sz1, fp); Err bitreich.org 70
i+ ctx.linenum++; Err bitreich.org 70
i+ getline(&line, &sz1, fp); Err bitreich.org 70
i if (ferror(fp)) Err bitreich.org 70
i err(1, "reading stdin: %s", strerror(errno)); Err bitreich.org 70
i if (feof(fp)) Err bitreich.org 70
i err(1, "empty input"); Err bitreich.org 70
i- Err bitreich.org 70
i- strchomp(ln1); Err bitreich.org 70
i- ctx->fieldnum = strsplit(ln1, fields, FIELD_MAX, "\t"); Err bitreich.org 70
i- if (ctx->fieldnum == FIELD_MAX) Err bitreich.org 70
i+ strchomp(line); Err bitreich.org 70
i+ ctx.fieldnum = strsplit(line, fields, FIELD_MAX, "\t"); Err bitreich.org 70
i+ if (ctx.fieldnum == FIELD_MAX) Err bitreich.org 70
i err(1, "line 1: too many fields"); Err bitreich.org 70
i- if (ctx->fieldnum < FIELD_OTHER) Err bitreich.org 70
i+ if (ctx.fieldnum < FIELD_OTHER) Err bitreich.org 70
i err(1, "line 1: not enough input columns"); Err bitreich.org 70
i if (strcasecmp(fields[0], "TYPE") != 0) Err bitreich.org 70
i err(1, "line 1: 1st column is not \"TYPE\""); Err bitreich.org 70
i@@ -214,29 +214,33 @@ tsv_to_agenda(AgendaCtx *ctx, FILE *fp) Err bitreich.org 70
i err(1, "line 1: 3rd column is not \"END\""); Err bitreich.org 70
i if (strcasecmp(fields[3], "RECUR") != 0) Err bitreich.org 70
i err(1, "line 1: 4th column is not \"RECUR\""); Err bitreich.org 70
i+ Err bitreich.org 70
i+ free(line); Err bitreich.org 70
i+ line = NULL; Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i for (;;) { Err bitreich.org 70
i char *fields[FIELD_MAX]; Err bitreich.org 70
i Err bitreich.org 70
i- ctx->linenum++; Err bitreich.org 70
i- getline(&ln2, &sz2, fp); Err bitreich.org 70
i+ ctx.linenum++; Err bitreich.org 70
i+ getline(&line, &sz2, fp); Err bitreich.org 70
i if (ferror(fp)) Err bitreich.org 70
i err(1, "reading stdin: %s", strerror(errno)); Err bitreich.org 70
i if (feof(fp)) Err bitreich.org 70
i break; Err bitreich.org 70
i Err bitreich.org 70
i- strchomp(ln2); Err bitreich.org 70
i- if (strsplit(ln2, fields, FIELD_MAX, "\t") != ctx->fieldnum) Err bitreich.org 70
i+ strchomp(line); Err bitreich.org 70
i+ Err bitreich.org 70
i+ if (strsplit(line, fields, FIELD_MAX, "\t") != ctx.fieldnum) Err bitreich.org 70
i err(1, "line %zd: bad number of columns", Err bitreich.org 70
i- ctx->linenum, strerror(errno)); Err bitreich.org 70
i+ ctx.linenum, strerror(errno)); Err bitreich.org 70
i Err bitreich.org 70
i- print(ctx, fields); Err bitreich.org 70
i+ print(&ctx, fields); Err bitreich.org 70
i } Err bitreich.org 70
i fputc('\n', stdout); Err bitreich.org 70
i Err bitreich.org 70
i- free(ln1); Err bitreich.org 70
i- free(ln2); Err bitreich.org 70
i+ free(line); Err bitreich.org 70
i+ line = NULL; Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i static void Err bitreich.org 70
i@@ -249,12 +253,8 @@ usage(void) Err bitreich.org 70
i int Err bitreich.org 70
i main(int argc, char **argv) Err bitreich.org 70
i { Err bitreich.org 70
i- AgendaCtx ctx = {0}; Err bitreich.org 70
i char c; Err bitreich.org 70
i Err bitreich.org 70
i- if ((flag_from = time(NULL)) == (time_t)-1) Err bitreich.org 70
i- err(1, "time: %s", strerror(errno)); Err bitreich.org 70
i- Err bitreich.org 70
i if (pledge("stdio", "") < 0) Err bitreich.org 70
i err(1, "pledge: %s", strerror(errno)); Err bitreich.org 70
i Err bitreich.org 70
i@@ -280,6 +280,6 @@ main(int argc, char **argv) Err bitreich.org 70
i argc -= optind; Err bitreich.org 70
i argv += optind; Err bitreich.org 70
i Err bitreich.org 70
i- tsv_to_agenda(&ctx, stdin); Err bitreich.org 70
i+ tsv2agenda(stdin); Err bitreich.org 70
i return 0; Err bitreich.org 70
i } Err bitreich.org 70
.
Response:
text/plain