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