simpler log functions - ploot - simple plotting tools HTML git clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- DIR commit 1d056caf74acaf182318297e2911fa8595fbd45c DIR parent f57e3eaca390e814349d3f6bcafde07b82041217 HTML Author: Josuah Demangeon <me@josuah.net> Date: Tue, 25 Feb 2020 23:36:06 +0100 simpler log functions Diffstat: M ploot-braille.c | 6 +++--- M ploot-farbfeld.c | 6 +++--- M ploot-feed.c | 18 +++++++++--------- M src/csv.c | 20 ++++++++++---------- M src/log.c | 22 ++++++++++------------ M src/log.h | 4 ++-- M src/scale.c | 2 +- 7 files changed, 38 insertions(+), 40 deletions(-) --- DIR diff --git a/ploot-braille.c b/ploot-braille.c @@ -123,13 +123,13 @@ plot(struct csv *vl, FILE *fp, size_t ncol, int row, int col) assert(drw = drawille_new(row, col)); fprintf(fp, " %s\n", vl->label); if (braille_histogram(vl, drw, tmin, tmax, vmin, vmax) == -1) - fatal(1, "allocating drawille canvas"); + die(1, "allocating drawille canvas"); if (braille_render(drw, fp, vmin, vmax) == -1) - fatal(1, "rendering braille canvas"); + die(1, "rendering braille canvas"); free(drw); } if (braille_axis_x(fp, tmin, tmax, tstep, col) == -1) - fatal(1, "printing x axis");; + die(1, "printing x axis");; } DIR diff --git a/ploot-farbfeld.c b/ploot-farbfeld.c @@ -262,7 +262,7 @@ argv_to_color(struct ffcolor **cl, char **argv) { for (; *argv != NULL; cl++, argv++) if ((*cl = name_to_color(*argv)) == NULL) - fatal(1, "unknown color name: %s", *argv); + die(1, "unknown color name: %s", *argv); } static void @@ -307,9 +307,9 @@ main(int argc, char **argv) csv_labels(stdin, &vl, &ncol); if (ncol > (size_t)argc) - fatal(1, "too many columns or not enough arguments"); + die(1, "too many columns or not enough arguments"); else if (ncol < (size_t)argc) - fatal(1, "too many arguments or not enough columns"); + die(1, "too many arguments or not enough columns"); csv_values(stdin, vl, ncol); argv_to_color(cl, argv); DIR diff --git a/ploot-feed.c b/ploot-feed.c @@ -60,19 +60,19 @@ plot_row(long *out, char *line, double *max, int nrow, int ncol) tok = strsep(&line, ","); if (!tok) - fatal(100, "*** missing epoch value"); + die(100, "*** missing epoch value"); epoch = strtol(tok, NULL, 10); if (errno) error("*** parsing epoch '%s'", tok); for (n = 0; (tok = strsep(&line, ",")) != NULL; n++) { if (n >= ncol) - fatal(100, "too many values"); + die(100, "too many values"); val = atof(tok); plot_val(out + n * width, val, max[n], nrow); } if (n < ncol) - fatal(100, "not enough values"); + die(100, "not enough values"); return epoch; } @@ -100,7 +100,7 @@ plot_line(long *out, double *max, int ncol) for (nrow = 0; nrow < 4; nrow++) { if (getline(&line, &sz, stdin) == -1) { if (ferror(stdin)) - fatal(111, "reading row from stdin"); + die(111, "reading row from stdin"); exit(0); } epoch = plot_row(out, line, max, nrow, ncol); @@ -179,21 +179,21 @@ read_labels(char **labv) line = NULL, sz = 0; if (getline(&line, &sz, stdin) == -1) { if (ferror(stdin)) - fatal(111, "reading labels from stdin"); - fatal(100, "missing label line", stderr); + die(111, "reading labels from stdin"); + die(100, "missing label line", stderr); } strchomp(line); cp = line; if (strcmp(strsep(&cp, ","), "epoch") != 0) - fatal(100, "first label must be 'epoch'"); + die(100, "first label must be 'epoch'"); for (ncol = 0; (tok = strsep(&cp, ",")) != NULL; ncol++, labv++) *labv = tok; *labv = NULL; if (ncol < 1) - fatal(100, "no label found"); + die(100, "no label found"); return ncol; } @@ -250,7 +250,7 @@ main(int argc, char **argv) width = (wflag - sizeof("XXxXXxXX _")) / ncol - sizeof("|"); fmt_labels(labels, ncol, labv); if (ncol != nmax) - fatal(100, "not as many labels and arguments"); + die(100, "not as many labels and arguments"); plot(labels, max, ncol); return 0; DIR diff --git a/src/csv.c b/src/csv.c @@ -43,24 +43,24 @@ csv_addrow(struct csv *vl, size_t ncol, char *line) field = strsep(&line, ","); if (!field) - fatal(1, "missing epoch at row %zu", vl->n); + die(1, "missing epoch at row %zu", vl->n); l = strtol(field, NULL, 10); if (errno) - fatal(100, "parsing number '%s'", field); + die(100, "parsing number '%s'", field); csv_addtime(vl, l); tbuf = vl[0].t; for (; (field = strsep(&line, ",")); ncol--, vl->n++, vl++) { if (ncol == 0) - fatal(1, "too many fields at line %zu", vl->n); + die(1, "too many fields at line %zu", vl->n); d = strtod(field, NULL); if (errno) - fatal(100, "parsing double '%s'", field); + die(100, "parsing double '%s'", field); csv_addval(vl, d); vl->t = tbuf; } if (ncol > 0) - fatal(1, "too few fields at line %zu", vl->n); + die(1, "too few fields at line %zu", vl->n); } /* @@ -78,14 +78,14 @@ csv_labels(FILE *fp, struct csv **vl, size_t *ncol) sz = 0, line = NULL; r = getline(&line, &sz, fp); if (ferror(fp)) - fatal(111, "error while reading from file"); + die(111, "error while reading from file"); if (r == -1) - fatal(100, "missing label line"); + die(100, "missing label line"); strchomp(line); cp = line; if (strcmp(strsep(&cp, ","), "epoch") != 0) - fatal(1, "first label must be 'epoch'"); + die(1, "first label must be 'epoch'"); *vl = NULL; *ncol = 0; @@ -114,9 +114,9 @@ csv_values(FILE *fp, struct csv *vl, size_t ncol) while (getline(&line, &sz, fp) > -1) csv_addrow(vl, ncol, line); if (vl->n == 0) - fatal(1, "no value could be read"); + die(1, "no value could be read"); if (vl->n == 1) - fatal(1, "only one value could be read"); + die(1, "only one value could be read"); free(line); } DIR diff --git a/src/log.c b/src/log.c @@ -16,12 +16,12 @@ #include <stdlib.h> #include <stdio.h> -#define LOG_DEFAULT 3 +#define LOG_DEFAULT 2 /* info */ int log_level = -1; void -vlogf(int exitcode, int level, char const *flag, char const *fmt, va_list va) +vlogf(int level, char const *flag, char const *fmt, va_list va) { char *env; @@ -32,7 +32,7 @@ vlogf(int exitcode, int level, char const *flag, char const *fmt, va_list va) } if (log_level < level) - goto end; + return; fprintf(stderr, "%s: ", flag); vfprintf(stderr, fmt, va); @@ -43,19 +43,17 @@ vlogf(int exitcode, int level, char const *flag, char const *fmt, va_list va) fprintf(stderr, "\n"); fflush(stderr); -end: - if (exitcode) - exit(exitcode); } void -fatal(int exitcode, char const *fmt, ...) +die(int exitcode, char const *fmt, ...) { va_list va; va_start(va, fmt); - vlogf(exitcode, 0, "fatal", fmt, va); + vlogf(0, "error", fmt, va); va_end(va); + exit(exitcode); } void @@ -64,7 +62,7 @@ error(char const *fmt, ...) va_list va; va_start(va, fmt); - vlogf(0, 1, "error", fmt, va); + vlogf(0, "error", fmt, va); va_end(va); } @@ -74,7 +72,7 @@ warn(char const *fmt, ...) va_list va; va_start(va, fmt); - vlogf(0, 2, "warn", fmt, va); + vlogf(1, "warn", fmt, va); va_end(va); } @@ -84,7 +82,7 @@ info(char const *fmt, ...) va_list va; va_start(va, fmt); - vlogf(0, 3, "info", fmt, va); + vlogf(2, "info", fmt, va); va_end(va); } @@ -94,6 +92,6 @@ debug(char const *fmt, ...) va_list va; va_start(va, fmt); - vlogf(0, 4, "debug", fmt, va); + vlogf(3, "debug", fmt, va); va_end(va); } DIR diff --git a/src/log.h b/src/log.h @@ -5,8 +5,8 @@ /**/ int log_level; -void vlogf (int, int, char const *, char const *, va_list); -void fatal (int, char const *, ...); +void vlogf (int, char const *, char const *, va_list); +void die (int, char const *, ...); void error (char const *, ...); void warn (char const *, ...); void info (char const *, ...); DIR diff --git a/src/scale.c b/src/scale.c @@ -53,7 +53,7 @@ scale_minmax(struct csv *vl, int ncol, } if (*tmin == *tmax) - fatal(1, "invalid time scale: min=%lld max=%lld", *tmin, *tmax); + die(1, "invalid time scale: min=%lld max=%lld", *tmin, *tmax); } static time_t