ifix bad error enum type - 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 5364436bda9ac04c42dbd6eeaab75914128046b6 /scm/ics2txt/commit/5364436bda9ac04c42dbd6eeaab75914128046b6.gph bitreich.org 70 1parent 7a6ceff37018ad2f867397aee9f3b3289f16427f /scm/ics2txt/commit/7a6ceff37018ad2f867397aee9f3b3289f16427f.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:me@josuah.net bitreich.org 70 iDate: Sun, 28 Jun 2020 21:01:03 +0200 Err bitreich.org 70 i Err bitreich.org 70 ifix bad error enum type Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M src/ical.c | 24 ++++++++++++++++-------- Err bitreich.org 70 i M src/ical.h | 3 +++ Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 19 insertions(+), 8 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/src/ical.c b/src/ical.c /scm/ics2txt/file/src/ical.c.gph bitreich.org 70 i@@ -18,18 +18,20 @@ ical_getline(char **line, char **ln, size_t *sz, FILE *fp) Err bitreich.org 70 i void *v; Err bitreich.org 70 i Err bitreich.org 70 i if ((v = realloc(*line, 1)) == NULL) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return -ICAL_ERR_SYSTEM; Err bitreich.org 70 i *line = v; Err bitreich.org 70 i (*line)[0] = '\0'; Err bitreich.org 70 i Err bitreich.org 70 i- do { Err bitreich.org 70 i+ do { top: Err bitreich.org 70 i if (getline(ln, sz, fp) <= 0) Err bitreich.org 70 i- return ferror(fp) ? -1 : 0; Err bitreich.org 70 i+ return ferror(fp) ? -ICAL_ERR_SYSTEM : 0; Err bitreich.org 70 i strchomp(*ln); Err bitreich.org 70 i+ if (**ln == '\0') Err bitreich.org 70 i+ goto top; Err bitreich.org 70 i if (strappend(line, *ln) < 0) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return -ICAL_ERR_SYSTEM; Err bitreich.org 70 i if ((c = fgetc(fp)) == EOF) Err bitreich.org 70 i- return ferror(fp) ? -1 : 1; Err bitreich.org 70 i+ return ferror(fp) ? -ICAL_ERR_SYSTEM : 1; Err bitreich.org 70 i } while (c == ' '); Err bitreich.org 70 i Err bitreich.org 70 i ungetc(c, fp); Err bitreich.org 70 i@@ -51,6 +53,12 @@ ical_strerror(int i) Err bitreich.org 70 i return "END: does not match its corresponding BEGIN:"; Err bitreich.org 70 i case ICAL_ERR_MISSING_BEGIN: Err bitreich.org 70 i return "unexpected content line before any BEGIN:"; Err bitreich.org 70 i+ case ICAL_ERR_MISSING_COLUMN: Err bitreich.org 70 i+ return "missing ':' character from line"; Err bitreich.org 70 i+ case ICAL_ERR_MISSING_SEMICOLUMN: Err bitreich.org 70 i+ return "missing ';' character before ':'"; Err bitreich.org 70 i+ case ICAL_ERR_MISSING_EQUAL: Err bitreich.org 70 i+ return "missing '=' character in parameter before ':'"; Err bitreich.org 70 i case ICAL_ERR_MIN_NESTED: Err bitreich.org 70 i return "too many END: for the number of BEGIN:"; Err bitreich.org 70 i case ICAL_ERR_MAX_NESTED: Err bitreich.org 70 i@@ -92,7 +100,7 @@ ical_parse_value(struct ical_value *value) Err bitreich.org 70 i value->name = value->buf; Err bitreich.org 70 i Err bitreich.org 70 i if ((column = strchr(value->buf, ':')) == NULL) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return -ICAL_ERR_MISSING_COLUMN; Err bitreich.org 70 i *column = '\0'; Err bitreich.org 70 i value->value = column + 1; Err bitreich.org 70 i Err bitreich.org 70 i@@ -100,10 +108,10 @@ ical_parse_value(struct ical_value *value) Err bitreich.org 70 i *cp++ = '\0'; Err bitreich.org 70 i while ((param = strsep(&cp, ";")) != NULL) { Err bitreich.org 70 i if ((equal = strchr(param, '=')) == NULL) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return -ICAL_ERR_MISSING_EQUAL; Err bitreich.org 70 i *equal = '\0'; Err bitreich.org 70 i if (map_set(&value->param, param, equal + 1) < 0) Err bitreich.org 70 i- return -1; Err bitreich.org 70 i+ return -ICAL_ERR_SYSTEM; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i assert(errno == e); Err bitreich.org 70 1diff --git a/src/ical.h b/src/ical.h /scm/ics2txt/file/src/ical.h.gph bitreich.org 70 i@@ -13,6 +13,9 @@ enum ical_err { Err bitreich.org 70 i ICAL_ERR_SYSTEM, Err bitreich.org 70 i ICAL_ERR_END_MISMATCH, Err bitreich.org 70 i ICAL_ERR_MISSING_BEGIN, Err bitreich.org 70 i+ ICAL_ERR_MISSING_COLUMN, Err bitreich.org 70 i+ ICAL_ERR_MISSING_SEMICOLUMN, Err bitreich.org 70 i+ ICAL_ERR_MISSING_EQUAL, Err bitreich.org 70 i ICAL_ERR_MIN_NESTED, Err bitreich.org 70 i ICAL_ERR_MAX_NESTED, Err bitreich.org 70 i Err bitreich.org 70 .