iadding arg.h, thank you __20h__ - 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 c529b0f871ecc44395506be3e5eb928caa4b63e0 /scm/ploot/commit/c529b0f871ecc44395506be3e5eb928caa4b63e0.gph bitreich.org 70 1parent 800a50b0368df65b45838095a362b579cc709d75 /scm/ploot/commit/800a50b0368df65b45838095a362b579cc709d75.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:mail@josuah.net bitreich.org 70 iDate: Sat, 3 Feb 2018 01:48:52 +0100 Err bitreich.org 70 i Err bitreich.org 70 iadding arg.h, thank you __20h__ Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 3 +++ Err bitreich.org 70 i A arg.h | 25 +++++++++++++++++++++++++ Err bitreich.org 70 i M ploot.c | 28 ++++++++++++++++++++++++---- Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 52 insertions(+), 4 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/ploot/file/Makefile.gph bitreich.org 70 i@@ -2,3 +2,6 @@ CFLAGS = -Wall -Wextra -Werror -std=c89 -pedantic Err bitreich.org 70 i Err bitreich.org 70 i all: ploot.o config.h Err bitreich.org 70 i ${CC} -static -o ploot ploot.o Err bitreich.org 70 i+ Err bitreich.org 70 i+clean: Err bitreich.org 70 i+ rm -f *.o ploot Err bitreich.org 70 1diff --git a/arg.h b/arg.h /scm/ploot/file/arg.h.gph bitreich.org 70 i@@ -0,0 +1,25 @@ Err bitreich.org 70 i+#define USED(x) ((void)(x)) Err bitreich.org 70 i+ Err bitreich.org 70 i+extern char *argv0; Err bitreich.org 70 i+ Err bitreich.org 70 i+#define ARGBEGIN(argc, argv) \ Err bitreich.org 70 i+ for (argv0 = *argv, argv++, argc--; \ Err bitreich.org 70 i+ argv[0] != NULL && argv[0][0] == '-' && argv[0][1] != '\0'; \ Err bitreich.org 70 i+ argc--, argv++) { \ Err bitreich.org 70 i+ char **arg_v, *arg_s; \ Err bitreich.org 70 i+ if (argv[0][1] == '-' && argv[0][2] == '\0') { \ Err bitreich.org 70 i+ argv++, argc--; \ Err bitreich.org 70 i+ break; \ Err bitreich.org 70 i+ } \ Err bitreich.org 70 i+ arg_v = argv; \ Err bitreich.org 70 i+ for (arg_s = *argv; *arg_s != '\0'; arg_s++) { \ Err bitreich.org 70 i+ if (arg_v != argv) \ Err bitreich.org 70 i+ break; \ Err bitreich.org 70 i+ switch (*arg_s) Err bitreich.org 70 i+ Err bitreich.org 70 i+#define ARGEND \ Err bitreich.org 70 i+ } \ Err bitreich.org 70 i+ } Err bitreich.org 70 i+ Err bitreich.org 70 i+#define EARGF(x) \ Err bitreich.org 70 i+ ((argv[1] == NULL) ? ((x), NULL) : (argc--, argv++, argv[0])) Err bitreich.org 70 1diff --git a/ploot.c b/ploot.c /scm/ploot/file/ploot.c.gph bitreich.org 70 i@@ -1,16 +1,21 @@ Err bitreich.org 70 i+#include Err bitreich.org 70 i+ Err bitreich.org 70 i #include Err bitreich.org 70 i+#include Err bitreich.org 70 i #include Err bitreich.org 70 i-#include Err bitreich.org 70 i Err bitreich.org 70 i+#include "arg.h" Err bitreich.org 70 i #include "config.h" Err bitreich.org 70 i Err bitreich.org 70 i #define MAX_VAL 80 Err bitreich.org 70 i #define MARGIN 7 Err bitreich.org 70 i-#define HEIGHT 20 Err bitreich.org 70 i Err bitreich.org 70 i #define ABS(x) ((x) < 0 ? -(x) : (x)) Err bitreich.org 70 i #define LEN(x) (sizeof(x) / sizeof(*x)) Err bitreich.org 70 i Err bitreich.org 70 i+char *argv0; Err bitreich.org 70 i+int flag_h = 20; 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@@ -162,8 +167,15 @@ read_time_series(double *valv, time_t *timev) Err bitreich.org 70 i return valv; Err bitreich.org 70 i } Err bitreich.org 70 i 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: %s [-h height]\n", argv0); Err bitreich.org 70 i+ exit(1); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i int Err bitreich.org 70 i-main() Err bitreich.org 70 i+main(int argc, char **argv) Err bitreich.org 70 i { Err bitreich.org 70 i double val[] = { 55, 55, 1, 72, 53, 73, 6, 45, 7, 71, 18, 100, 78, 56, Err bitreich.org 70 i 53, 24, 99, 99, 37, 91, 67, 68, 9, 16, 83, 30, 68, 51, 38, 47, 91, Err bitreich.org 70 i@@ -173,6 +185,14 @@ main() Err bitreich.org 70 i 71, 61, 12, 29, 63, 85, 72, 98, 59, 96, 91, 67, 24, 48, 4, 90, 1, Err bitreich.org 70 i 15, 57, 11, 93, 18, 18, 78, 85, 36, 35, 15, 7, 85, 31, 73, 57, 70 }; Err bitreich.org 70 i Err bitreich.org 70 i- plot(HEIGHT, val, val + LEN(val), "Sample data generated with jot"); Err bitreich.org 70 i+ ARGBEGIN(argc, argv) { Err bitreich.org 70 i+ case 'h': Err bitreich.org 70 i+ flag_h = atoi(EARGF(usage())); Err bitreich.org 70 i+ if (flag_h <= 0) Err bitreich.org 70 i+ usage(); Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ } ARGEND; Err bitreich.org 70 i+ Err bitreich.org 70 i+ plot(flag_h, val, val + LEN(val), "Sample data generated with jot"); Err bitreich.org 70 i return 0; Err bitreich.org 70 i } Err bitreich.org 70 .