i[fix] increase offset in ring buffer - 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 30b3f9c326b35c196f98d905c6e57afbc057c63b /scm/ploot/commit/30b3f9c326b35c196f98d905c6e57afbc057c63b.gph bitreich.org 70 1parent 453cb7f82c06a904e3b5aae5ee57d9a1fd91f460 /scm/ploot/commit/453cb7f82c06a904e3b5aae5ee57d9a1fd91f460.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:mail@josuah.net bitreich.org 70 iDate: Sun, 4 Feb 2018 23:50:12 +0100 Err bitreich.org 70 i Err bitreich.org 70 i[fix] increase offset in ring buffer Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M ploot.c | 19 +++++++------------ Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 7 insertions(+), 12 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/ploot.c b/ploot.c /scm/ploot/file/ploot.c.gph bitreich.org 70 i@@ -14,6 +14,9 @@ Err bitreich.org 70 i #define MIN(x, y) ((x) < (y) ? (x) : (y)) Err bitreich.org 70 i #define LEN(x) (sizeof(x) / sizeof(*x)) Err bitreich.org 70 i Err bitreich.org 70 i+int flag_h = 20; Err bitreich.org 70 i+char *flag_t = NULL; Err bitreich.org 70 i+ Err bitreich.org 70 i /* Err bitreich.org 70 i * Set `str' to a human-readable form of `num' with always a width of 7 (+ 1 Err bitreich.org 70 i * the '\0' terminator). Buffer overflow is ensured not to happen due to the Err bitreich.org 70 i@@ -28,7 +31,7 @@ humanize(char *str, double val) Err bitreich.org 70 i for (exp = 0; ABS(val) > 1000; exp++) Err bitreich.org 70 i val /= 1000; Err bitreich.org 70 i Err bitreich.org 70 i- precision = (ABS(val) < 10) ? 3 : (ABS(val) < 100) ? 2 : 1; Err bitreich.org 70 i+ precision = (ABS(val) < 10) ? (3) : (ABS(val) < 100) ? (2) : (1); Err bitreich.org 70 i if (exp == 0) Err bitreich.org 70 i precision++; Err bitreich.org 70 i snprintf(str, 8, "%+.*f%c", precision, val, label[exp]); Err bitreich.org 70 i@@ -139,7 +142,7 @@ ring_add(double *rbuf, size_t len, size_t pos, double val) Err bitreich.org 70 i { Err bitreich.org 70 i *rbuf = val; Err bitreich.org 70 i Err bitreich.org 70 i- return (pos < len) ? pos + 1 : 0; Err bitreich.org 70 i+ return (pos + 1 < len) ? (pos + 1) : (0); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i /* Err bitreich.org 70 i@@ -149,13 +152,8 @@ ring_add(double *rbuf, size_t len, size_t pos, double val) Err bitreich.org 70 i void Err bitreich.org 70 i ring_copy(double *buf, double *rbuf, size_t len, size_t pos) Err bitreich.org 70 i { Err bitreich.org 70 i- size_t i = 0; Err bitreich.org 70 i- Err bitreich.org 70 i memcpy(buf, rbuf + pos, (len - pos) * sizeof(*rbuf)); Err bitreich.org 70 i memcpy(buf + (len - pos), rbuf, pos * sizeof(*rbuf)); Err bitreich.org 70 i- printf("len: %zd, pos: %zd\n", len, pos); Err bitreich.org 70 i- for (i = 0; i < len; i++) Err bitreich.org 70 i- printf("%03zd: %lf\n", i, buf[i]); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i /* Err bitreich.org 70 i@@ -171,7 +169,7 @@ read_simple(double buf[MAX_VAL]) Err bitreich.org 70 i Err bitreich.org 70 i len = LEN(rbuf); Err bitreich.org 70 i for (p = pos = 0; scanf("%lf\n", &val) > 0; p++) Err bitreich.org 70 i- pos = ring_add(rbuf, len, pos, val); Err bitreich.org 70 i+ pos = ring_add(rbuf + pos, len, pos, val); Err bitreich.org 70 i len = MIN(len, p); Err bitreich.org 70 i pos = MIN(pos, p); Err bitreich.org 70 i Err bitreich.org 70 i@@ -202,7 +200,7 @@ read_time_series(double *valv, time_t *timev) Err bitreich.org 70 i void Err bitreich.org 70 i usage(void) Err bitreich.org 70 i { Err bitreich.org 70 i- printf("usage: ploot [-h height]\n"); Err bitreich.org 70 i+ printf("usage: ploot [-h ] [-t ]\n"); Err bitreich.org 70 i exit(1); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -212,9 +210,6 @@ main(int argc, char **argv) Err bitreich.org 70 i double val[MAX_VAL], *end; Err bitreich.org 70 i char c; Err bitreich.org 70 i Err bitreich.org 70 i- int flag_h = 20; Err bitreich.org 70 i- char *flag_t = NULL; Err bitreich.org 70 i- Err bitreich.org 70 i while ((c = getopt(argc, argv, "h:t:")) != -1) { Err bitreich.org 70 i switch (c) { Err bitreich.org 70 i case -1: Err bitreich.org 70 .