SMOLNET PORTAL home about changes
ichoose whether we scale up or scale down - 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 9bd929c04277a0f9d0056e5b50f1233054a4b17f	/scm/ploot/commit/9bd929c04277a0f9d0056e5b50f1233054a4b17f.gph	bitreich.org	70
1parent ab839e91e0a3687937992cb48558a15e1547d8ea	/scm/ploot/commit/ab839e91e0a3687937992cb48558a15e1547d8ea.gph	bitreich.org	70
hAuthor: Josuah Demangeon <mail@josuah.net>	URL:mailto:mail@josuah.net	bitreich.org	70
iDate:   Wed,  2 May 2018 12:17:32 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
ichoose whether we scale up or scale down	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M ffplot.c                            |      22 ++++++++++------------	Err	bitreich.org	70
i  M ploot.c                             |      47 ++++++++++++++++++-------------	Err	bitreich.org	70
i	Err	bitreich.org	70
i2 files changed, 37 insertions(+), 32 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/ffplot.c b/ffplot.c	/scm/ploot/file/ffplot.c.gph	bitreich.org	70
i@@ -196,7 +196,7 @@ legend(Canvas *can, Color *label_fg, Vlist *v, int n)	Err	bitreich.org	70
i         int i, x, y;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         for (i = 0; i < n; i++, v++) {	Err	bitreich.org	70
i-                x = LEGEND_H - n * (FONT_H + MARGIN) - FONT_H / 2;	Err	bitreich.org	70
i+                x = LEGEND_H - i * (FONT_H + MARGIN) - FONT_H / 2;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 y = MARGIN + FONT_W;	Err	bitreich.org	70
i                 ffdraw_str_left(can, &v->col, "\1", font, x, y);	Err	bitreich.org	70
i@@ -246,22 +246,20 @@ find_scales(Vlist *v, int n,	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        for (i = 1; i != 0; i *= 10) {	Err	bitreich.org	70
i-                for (vs = vscale + LEN(vscale) - 1; vs >= vscale; vs--) {	Err	bitreich.org	70
i-                        if (dv > *vs / i * XDENSITY / 2) {	Err	bitreich.org	70
i-                                *vstep = *vs / i;	Err	bitreich.org	70
i-                                i = 0;	Err	bitreich.org	70
i-                                break;	Err	bitreich.org	70
i+        if (dv > 1) for (i = 1; i != 0; i *= 10) {	Err	bitreich.org	70
i+                for (vs = vscale; vs < vscale + LEN(vscale); vs++) {	Err	bitreich.org	70
i+                        if (dv < *vs * i * XDENSITY) {	Err	bitreich.org	70
i+                                *vstep = *vs * i;	Err	bitreich.org	70
i+                                return;	Err	bitreich.org	70
i                         }	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         for (i = 1; i != 0; i *= 10) {	Err	bitreich.org	70
i-                for (vs = vscale; vs < vscale + LEN(vscale); vs++) {	Err	bitreich.org	70
i-                        if (dv < *vs * i * XDENSITY) {	Err	bitreich.org	70
i-                                *vstep = *vs * i;	Err	bitreich.org	70
i-                                i = 0;	Err	bitreich.org	70
i-                                break;	Err	bitreich.org	70
i+                for (vs = vscale + LEN(vscale) - 1; vs >= vscale; vs--) {	Err	bitreich.org	70
i+                        if (dv > *vs / i * XDENSITY / 2) {	Err	bitreich.org	70
i+                                *vstep = *vs / i;	Err	bitreich.org	70
i+                                return;	Err	bitreich.org	70
i                         }	Err	bitreich.org	70
i                 }	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@@ -88,29 +88,31 @@ eatol(char *str)	Err	bitreich.org	70
i         return atol(str);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-static void	Err	bitreich.org	70
i-add_val(Vlist *v, int *bufsiz, int nval, double field, time_t epoch)	Err	bitreich.org	70
i+static int	Err	bitreich.org	70
i+add_val(Vlist *v, int bufsize, int nval, double field, time_t epoch)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i-        if (nval >= *bufsiz) {	Err	bitreich.org	70
i-                *bufsiz = *bufsiz * 2 + 1;	Err	bitreich.org	70
i-                if ((v->v = realloc(v->v, *bufsiz * sizeof(*v->v))) == NULL)	Err	bitreich.org	70
i+        if (nval >= bufsize) {	Err	bitreich.org	70
i+                bufsize = bufsize * 2 + 1;	Err	bitreich.org	70
i+                if ((v->v = realloc(v->v, bufsize * sizeof(*v->v))) == NULL)	Err	bitreich.org	70
i                         perror("reallocating values buffer"), exit(1);	Err	bitreich.org	70
i-                if ((v->t = realloc(v->t, *bufsiz * sizeof(*v->t))) == NULL)	Err	bitreich.org	70
i+                if ((v->t = realloc(v->t, bufsize * sizeof(*v->t))) == NULL)	Err	bitreich.org	70
i                         perror("reallocating values buffer"), exit(1);	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         v->v[nval] = field;	Err	bitreich.org	70
i         v->t[nval] = epoch;	Err	bitreich.org	70
i         v->n = nval + 1;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        return bufsize;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i /*	Err	bitreich.org	70
i  * Add to each column the value on the current row.	Err	bitreich.org	70
i  */	Err	bitreich.org	70
i-static void	Err	bitreich.org	70
i-add_row(Vlist *v, int *bufsiz, int ncol, int nval, char *line)	Err	bitreich.org	70
i+static int	Err	bitreich.org	70
i+add_row(Vlist *v, int bufsize, int ncol, int nval, char *line)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         time_t epoch;	Err	bitreich.org	70
i-        int n;	Err	bitreich.org	70
i+        int bs;	Err	bitreich.org	70
i         char *field, *dot;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if ((field = strsep(&line, ",")) == NULL)	Err	bitreich.org	70
i@@ -119,13 +121,15 @@ add_row(Vlist *v, int *bufsiz, int ncol, int nval, char *line)	Err	bitreich.org	70
i         if ((dot = strchr(field, '.')) != NULL)	Err	bitreich.org	70
i                 *dot = '\0';	Err	bitreich.org	70
i         epoch = eatol(field);	Err	bitreich.org	70
i-        for (n = 0; (field = strsep(&line, ",")) != NULL; n++, v++) {	Err	bitreich.org	70
i-                if (n > ncol)	Err	bitreich.org	70
i+        for (; (field = strsep(&line, ",")) != NULL; ncol--, v++) {	Err	bitreich.org	70
i+                if (ncol <= 0)	Err	bitreich.org	70
i                         fprintf(stderr, "%d: too many fields\n", nval), exit(0);	Err	bitreich.org	70
i-                add_val(v, bufsiz, nval, eatof(field), epoch);	Err	bitreich.org	70
i+                bs = add_val(v, bufsize, nval, eatof(field), epoch);	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i-        if (n < ncol)	Err	bitreich.org	70
i+        if (ncol > 0)	Err	bitreich.org	70
i                 fprintf(stderr, "%d: too few fields\n", nval), exit(0);	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        return bs;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i /*	Err	bitreich.org	70
i@@ -137,13 +141,13 @@ add_row(Vlist *v, int *bufsiz, int ncol, int nval, char *line)	Err	bitreich.org	70
i static void	Err	bitreich.org	70
i read_values(Vlist *v, int ncol)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i-        int nval, bufsiz;	Err	bitreich.org	70
i+        int nval, bufsize;	Err	bitreich.org	70
i         char line[LINE_MAX];	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        bufsiz = 0;	Err	bitreich.org	70
i+        bufsize = 0;	Err	bitreich.org	70
i         for (nval = 0; fgets(line, sizeof(line), stdin); nval++) {	Err	bitreich.org	70
i                 estriplf(line);	Err	bitreich.org	70
i-                add_row(v, &bufsiz, ncol, nval, line);	Err	bitreich.org	70
i+                bufsize = add_row(v, bufsize, ncol, nval, line);	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -152,10 +156,11 @@ usage(void)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         ColorList *c;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        fprintf(stderr, "usage: %s [-t title] [-u unit] color...\n"	Err	bitreich.org	70
i-                "available colors as defined by \"config.h\":\n", argv0);	Err	bitreich.org	70
i-        for (c = colorlist; c->name != NULL; c++)	Err	bitreich.org	70
i-                fprintf(stderr, "- %s\n", c->name);	Err	bitreich.org	70
i+        fprintf(stderr, "usage: %s [-t title] [-u unit] {", argv0);	Err	bitreich.org	70
i+        fputs(colorlist->name, stderr);	Err	bitreich.org	70
i+        for (c = colorlist + 1; c->name != NULL; c++)	Err	bitreich.org	70
i+                fprintf(stderr, ",%s", c->name);	Err	bitreich.org	70
i+        fputs("}...\n", stderr);	Err	bitreich.org	70
i         exit(1);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -172,6 +177,8 @@ main(int argc, char **argv)	Err	bitreich.org	70
i         case 'u':	Err	bitreich.org	70
i                 uflag = EARGF(usage());	Err	bitreich.org	70
i                 break;	Err	bitreich.org	70
i+        default:	Err	bitreich.org	70
i+                usage();	Err	bitreich.org	70
i         } ARGEND;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if ((v = calloc(argc, sizeof(*v))) == NULL)	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/ploot/commit/9bd929c04277a0f9...
Content-Typetext/plain; charset=utf-8