vlist -> csv - ploot - simple plotting tools
 (HTM) git clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 5e3a15dfb77b6b94cba1df9918ce30c6e07d3904
 (DIR) parent a07960fb4acccb2f1cc7d5dab19e3ec4ffc89684
 (HTM) Author: Josuah Demangeon <me@josuah.net>
       Date:   Sat, 22 Feb 2020 17:29:26 +0100
       
       vlist -> csv
       
       Diffstat:
         M ploot-braille.c                     |       8 +++++---
         M ploot-farbfeld.c                    |      10 +++++-----
         M src/csv.c                           |      12 ++++++------
         M src/csv.h                           |      10 +++++-----
         M src/scale.c                         |       4 ++--
         M src/scale.h                         |       2 +-
       
       6 files changed, 24 insertions(+), 22 deletions(-)
       ---
 (DIR) diff --git a/ploot-braille.c b/ploot-braille.c
       @@ -20,7 +20,7 @@ char const *arg0 = NULL;
         * a vertical and horizontal axis.
         */
        int
       -braille_histogram(struct vlist *vl, struct drawille *drw,
       +braille_histogram(struct csv *vl, struct drawille *drw,
                time_t tmin, time_t tmax, double vmin, double vmax)
        {
                int                x, xprev, y, yprev, zero;
       @@ -102,7 +102,7 @@ braille_render(struct drawille *drw, FILE *fp, double vmin, double vmax)
        }
        
        static void
       -plot(struct vlist *vl, FILE *fp, size_t ncol, int row, int col)
       +plot(struct csv *vl, FILE *fp, size_t ncol, int row, int col)
        {
                size_t len;
                double vmin, vmax, vstep;
       @@ -136,7 +136,7 @@ usage(void)
        int
        main(int argc, char **argv)
        {
       -        struct vlist *vl;
       +        struct csv *vl;
                size_t ncol;
                int c;
        
       @@ -153,7 +153,9 @@ main(int argc, char **argv)
                if (argc > 0)
                        usage();
        
       +        debug("label");
                csv_labels(stdin, &vl, &ncol);
       +        debug("values");
                csv_values(stdin, vl, ncol);
        
                plot(vl, stdout, ncol, 20, 80);
 (DIR) diff --git a/ploot-farbfeld.c b/ploot-farbfeld.c
       @@ -144,7 +144,7 @@ farbfeld_title(struct ffplot *plot,
        }
        
        static void
       -farbfeld_plot(struct ffplot *plot, struct vlist *vl, struct ffcolor *color,
       +farbfeld_plot(struct ffplot *plot, struct csv *vl, struct ffcolor *color,
                double vmin, double vmax,
                time_t tmin, time_t tmax)
        {
       @@ -167,7 +167,7 @@ farbfeld_plot(struct ffplot *plot, struct vlist *vl, struct ffcolor *color,
        }
        
        static void
       -farbfeld_values(struct ffplot *plot, struct vlist *vl, struct ffcolor **cl, size_t ncol,
       +farbfeld_values(struct ffplot *plot, struct csv *vl, struct ffcolor **cl, size_t ncol,
                time_t tmin, time_t tmax,
                double vmin, double vmax)
        {
       @@ -176,7 +176,7 @@ farbfeld_values(struct ffplot *plot, struct vlist *vl, struct ffcolor **cl, size
        }
        
        static void
       -farbfeld_legend(struct ffplot *plot, struct ffcolor *fg, struct vlist *vl, struct ffcolor **cl, size_t ncol)
       +farbfeld_legend(struct ffplot *plot, struct ffcolor *fg, struct csv *vl, struct ffcolor **cl, size_t ncol)
        {
                size_t x, y;
        
       @@ -200,7 +200,7 @@ farbfeld_legend(struct ffplot *plot, struct ffcolor *fg, struct vlist *vl, struc
         *                x label here        
         */
        static void
       -plot(struct vlist *vl, struct ffcolor **cl, size_t ncol, char *name, char *units)
       +plot(struct csv *vl, struct ffcolor **cl, size_t ncol, char *name, char *units)
        {
                struct ffplot plot = { IMAGE_W, IMAGE_H, 0, 0, NULL };
                struct ffcolor plot_bg = { 0x2222, 0x2222, 0x2222, 0xffff };
       @@ -279,7 +279,7 @@ usage(void)
        int
        main(int argc, char **argv)
        {
       -        struct vlist *vl;
       +        struct csv *vl;
                struct ffcolor **cl;
                size_t ncol;
                int c;
 (DIR) diff --git a/src/csv.c b/src/csv.c
       @@ -9,18 +9,18 @@
        #include "tool.h"
        
        /*
       - * Read CSV data onto a set of (struct vlist).
       + * Read CSV data onto a set of (struct csv).
         */
        
        static void
       -csv_addtime(struct vlist *vl, time_t epoch)
       +csv_addtime(struct csv *vl, time_t epoch)
        {
                assert(vl->t = realloc(vl->t, (vl->n + 1) * sizeof(*vl->t)));
                vl->t[vl->n] = epoch;
        }
        
        static void
       -csv_addval(struct vlist *vl, double field)
       +csv_addval(struct csv *vl, double field)
        {
                assert(vl->v = realloc(vl->v, (vl->n + 1) * sizeof(*vl->v)));
                vl->v[vl->n] = field;
       @@ -31,7 +31,7 @@ csv_addval(struct vlist *vl, double field)
         * buffer is shared among all fields.
         */
        void
       -csv_addrow(struct vlist *vl, size_t ncol, char *line)
       +csv_addrow(struct csv *vl, size_t ncol, char *line)
        {
                char *field;
                time_t *tbuf;
       @@ -58,7 +58,7 @@ csv_addrow(struct vlist *vl, size_t ncol, char *line)
         * epoch,label1,label2,label3
         */
        void
       -csv_labels(FILE *fp, struct vlist **vl, size_t *ncol)
       +csv_labels(FILE *fp, struct csv **vl, size_t *ncol)
        {
                char *field, *line, *cp, *label;
                size_t sz;
       @@ -92,7 +92,7 @@ csv_labels(FILE *fp, struct vlist **vl, size_t *ncol)
         * epoch,a3,b3,c3  v
         */
        void
       -csv_values(FILE *fp, struct vlist *vl, size_t ncol)
       +csv_values(FILE *fp, struct csv *vl, size_t ncol)
        {
                char *line;
                size_t sz;
 (DIR) diff --git a/src/csv.h b/src/csv.h
       @@ -5,9 +5,9 @@
        
        /*
         * List of values and timestamps.  Both have their dedicated buffer
       - * so that the timestamp buffer can be shared across vlist objects.
       + * so that the timestamp buffer can be shared across csv objects.
         */
       -struct vlist {
       +struct csv {
                time_t                *t;                /* array of timestamps */
                double                *v;                /* array of values */
                size_t                n;                /* number of values */
       @@ -15,8 +15,8 @@ struct vlist {
        };
        
        /**/
       -void                csv_addrow                (struct vlist *, size_t, char *);
       -void                csv_labels                (FILE *, struct vlist **, size_t *);
       -void                csv_values                (FILE *, struct vlist *, size_t);
       +void                csv_addrow                (struct csv *, size_t, char *);
       +void                csv_labels                (FILE *, struct csv **, size_t *);
       +void                csv_values                (FILE *, struct csv *, size_t);
        
        #endif
 (DIR) diff --git a/src/scale.c b/src/scale.c
       @@ -32,7 +32,7 @@ scale_xpos(time_t t, time_t t1, time_t t2, int szx)
        }
        
        static void
       -scale_minmax(struct vlist *vl, int ncol,
       +scale_minmax(struct csv *vl, int ncol,
                time_t *tmin, time_t *tmax,
                double *vmin, double *vmax)
        {
       @@ -131,7 +131,7 @@ scale_vminmax(double *min, double *max, int row)
        }
        
        void
       -scale(struct vlist *vl, int ncol,
       +scale(struct csv *vl, int ncol,
                time_t *tmin, time_t *tmax, time_t *tstep,
                double *vmin, double *vmax, double *vstep)
        {
 (DIR) diff --git a/src/scale.h b/src/scale.h
       @@ -13,6 +13,6 @@
        int                scale_ypos                (double, double, double, int);
        int                scale_xpos                (time_t, time_t, time_t, int);
        void                scale_vminmax                (double *, double *, int);
       -void                scale                        (struct vlist *, int, time_t *, time_t *, time_t *, double *, double *, double *);
       +void                scale                        (struct csv *, int, time_t *, time_t *, time_t *, double *, double *, double *);
        
        #endif