iadd unicode separators as we already use unicode for plotting anyway - ploot - simple plotting tools Err bitreich.org 70 hgit clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot URL:git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot bitreich.org 70 1Log /scm/ploot/log.gph bitreich.org 70 1Files /scm/ploot/files.gph bitreich.org 70 1Refs /scm/ploot/refs.gph bitreich.org 70 1Tags /scm/ploot/tag bitreich.org 70 1README /scm/ploot/file/README.md.gph bitreich.org 70 1LICENSE /scm/ploot/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 98e410eed716d9673c93a5a6f133905df23e8cc3 /scm/ploot/commit/98e410eed716d9673c93a5a6f133905df23e8cc3.gph bitreich.org 70 1parent 329e7cc8a47b33e9e4efb0f8bdcfb396e89bbb21 /scm/ploot/commit/329e7cc8a47b33e9e4efb0f8bdcfb396e89bbb21.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:mail@josuah.net bitreich.org 70 iDate: Mon, 7 May 2018 02:27:45 +0200 Err bitreich.org 70 i Err bitreich.org 70 iadd unicode separators as we already use unicode for plotting anyway Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M plootxt.c | 26 +++++++++++++++----------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 15 insertions(+), 11 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/plootxt.c b/plootxt.c /scm/ploot/file/plootxt.c.gph bitreich.org 70 i@@ -38,12 +38,12 @@ plot_dot(long *out, int row, int col) Err bitreich.org 70 i static void Err bitreich.org 70 i plot_val(long *out, double val, double max, int row) Err bitreich.org 70 i { Err bitreich.org 70 i- int col; Err bitreich.org 70 i+ int col, c; Err bitreich.org 70 i Err bitreich.org 70 i val = MIN(max, val); Err bitreich.org 70 i col = (int)(val * (double)(width - 1) / max * 2); Err bitreich.org 70 i- for (; col > 0; col--) Err bitreich.org 70 i- plot_dot(out + col / 2, row, col % 2); Err bitreich.org 70 i+ for (c = 0; c < col; c++) Err bitreich.org 70 i+ plot_dot(out + c / 2, row, c % 2); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i /* Err bitreich.org 70 i@@ -88,6 +88,10 @@ plot_line(long *out, double *max, int ncol) Err bitreich.org 70 i for (rune = BRAILLE_START, o = out, n = ncol * width; n > 0; o++, n--) Err bitreich.org 70 i memcpy(o, &rune, sizeof(rune)); Err bitreich.org 70 i *o = '\0'; Err bitreich.org 70 i+ for (rune = 0x2502, o = out, n = 0; n < ncol; o += width, n++) Err bitreich.org 70 i+ memcpy(o, &rune, sizeof(rune)); Err bitreich.org 70 i+ out++; Err bitreich.org 70 i+ Err bitreich.org 70 i for (nrow = 0; nrow < 4; nrow++) { Err bitreich.org 70 i if ((esfgets(line, LINE_MAX, stdin)) == NULL) Err bitreich.org 70 i exit(0); Err bitreich.org 70 i@@ -100,19 +104,19 @@ plot_line(long *out, double *max, int ncol) Err bitreich.org 70 i static void Err bitreich.org 70 i put_time(time_t epoch, time_t last, int nline) Err bitreich.org 70 i { Err bitreich.org 70 i- char *out, buf[sizeof("XXxXXxXX |")]; Err bitreich.org 70 i+ char *out, buf[sizeof("XXxXXxXX ")]; Err bitreich.org 70 i Err bitreich.org 70 i switch (nline % 3) { Err bitreich.org 70 i case 0: Err bitreich.org 70 i- strftime(buf, sizeof(buf), "%H:%M:%S _|", localtime(&epoch)); Err bitreich.org 70 i+ strftime(buf, sizeof(buf), "%H:%M:%S _", localtime(&epoch)); Err bitreich.org 70 i out = buf; Err bitreich.org 70 i break; Err bitreich.org 70 i case 1: Err bitreich.org 70 i- strftime(buf, sizeof(buf), "%y/%m/%d |", localtime(&last)); Err bitreich.org 70 i+ strftime(buf, sizeof(buf), "%y/%m/%d ", localtime(&last)); Err bitreich.org 70 i out = buf; Err bitreich.org 70 i break; Err bitreich.org 70 i case 2: Err bitreich.org 70 i- out = " |"; Err bitreich.org 70 i+ out = " "; Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -132,7 +136,7 @@ put_line(long *out) Err bitreich.org 70 i { Err bitreich.org 70 i for (; *out != '\0'; out++) Err bitreich.org 70 i print_utf8_3bytes(*out); Err bitreich.org 70 i- putchar('\n'); Err bitreich.org 70 i+ puts("│"); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i static void Err bitreich.org 70 i@@ -146,7 +150,7 @@ plot(char labels[LINE_MAX], double *max, int ncol) Err bitreich.org 70 i Err bitreich.org 70 i for (n = 0;; n = n == 25 ? 0 : n + 1) { Err bitreich.org 70 i if (n == 0) Err bitreich.org 70 i- put_time(0, 0, 2), puts(labels); Err bitreich.org 70 i+ put_time(0, 0, 2), fputs(labels, stdout), puts("│"); Err bitreich.org 70 i Err bitreich.org 70 i epoch = plot_line(out, max, ncol); Err bitreich.org 70 i put_time(epoch, last_epoch, n); Err bitreich.org 70 i@@ -190,7 +194,7 @@ fmt_labels(char out[LINE_MAX], int ncol, char *labels[LINE_MAX / 2]) Err bitreich.org 70 i Err bitreich.org 70 i printf("%d\n", width); Err bitreich.org 70 i for (i = 0; i < ncol; labels++, i++) Err bitreich.org 70 i- out += snprintf(out, width + 3, " %-*s |", width - 3, *labels); Err bitreich.org 70 i+ out += sprintf(out, "│%-*s", width - 1, *labels); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i static void Err bitreich.org 70 i@@ -226,7 +230,7 @@ main(int argc, char **argv) Err bitreich.org 70 i Err bitreich.org 70 i nmax = parse_args(argc, argv, max); Err bitreich.org 70 i ncol = read_labels(labv); Err bitreich.org 70 i- width = (wflag - sizeof("XXxXXxXX _|")) / ncol - sizeof("|"); Err bitreich.org 70 i+ width = (wflag - sizeof("XXxXXxXX _")) / ncol - sizeof("|"); Err bitreich.org 70 i fmt_labels(labels, ncol, labv); Err bitreich.org 70 i if (ncol != nmax) Err bitreich.org 70 i fputs("not as many labels and arguments\n", stderr), exit(1); Err bitreich.org 70 .