SMOLNET PORTAL home about changes
ifixing empty input and removing not used -l option - iomenu - interactive terminal-based selection menu	Err	bitreich.org	70
hgit clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu	URL:git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu	bitreich.org	70
1Log	/scm/iomenu/log.gph	bitreich.org	70
1Files	/scm/iomenu/files.gph	bitreich.org	70
1Refs	/scm/iomenu/refs.gph	bitreich.org	70
1Tags	/scm/iomenu/tag	bitreich.org	70
1README	/scm/iomenu/file/README.gph	bitreich.org	70
1LICENSE	/scm/iomenu/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 972969f0568ff78ac41d72a942440859af004ad2	/scm/iomenu/commit/972969f0568ff78ac41d72a942440859af004ad2.gph	bitreich.org	70
1parent 17183e9024bb8a1fa1e2152819ac29a3e82047b4	/scm/iomenu/commit/17183e9024bb8a1fa1e2152819ac29a3e82047b4.gph	bitreich.org	70
hAuthor: Josuah Demangeon <mail@josuah.net>	URL:mailto:mail@josuah.net	bitreich.org	70
iDate:   Wed,  1 Nov 2017 17:11:20 +0100	Err	bitreich.org	70
i	Err	bitreich.org	70
ifixing empty input and removing not used -l option	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M buffer.c                            |      12 +++++++++---	Err	bitreich.org	70
i  M control.c                           |       1 +	Err	bitreich.org	70
i  M display.c                           |       1 +	Err	bitreich.org	70
i  M iomenu.1                            |       6 ------	Err	bitreich.org	70
i  M iomenu.h                            |       1 -	Err	bitreich.org	70
i  M main.c                              |      14 +-------------	Err	bitreich.org	70
i	Err	bitreich.org	70
i6 files changed, 12 insertions(+), 23 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/buffer.c b/buffer.c	/scm/iomenu/file/buffer.c.gph	bitreich.org	70
i@@ -19,7 +19,6 @@ match_line(char *line, char **tokv, int tokc)	Err	bitreich.org	70
i         while (tokc-- > 0)	Err	bitreich.org	70
i                 if (strstr(line, tokv[tokc]) == NULL)	Err	bitreich.org	70
i                         return 0;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i         return 1;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -49,6 +48,8 @@ split_lines(char *buf)	Err	bitreich.org	70
i         b = buf;	Err	bitreich.org	70
i         while ((b = strchr(b + 1, '\n')))	Err	bitreich.org	70
i                 linec++;	Err	bitreich.org	70
i+        if (!linec)	Err	bitreich.org	70
i+                linec = 1;	Err	bitreich.org	70
i         if (!(lv = linev = calloc(linec, sizeof (char **))))	Err	bitreich.org	70
i                 die("calloc");	Err	bitreich.org	70
i         if (!(mv = matchv = calloc(linec, sizeof (char **)))) {	Err	bitreich.org	70
i@@ -70,14 +71,19 @@ read_stdin(void)	Err	bitreich.org	70
i         size_t len;	Err	bitreich.org	70
i         size_t off;	Err	bitreich.org	70
i         char *buf;	Err	bitreich.org	70
i+        char *b;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         off = 0;	Err	bitreich.org	70
i         buf = malloc(size);	Err	bitreich.org	70
i         while ((len = read(STDIN_FILENO, buf + off, size - off)) > 0) {	Err	bitreich.org	70
i                 off += len;	Err	bitreich.org	70
i-                if (off > size >> 1) {	Err	bitreich.org	70
i+                if (off >= size >> 1) {	Err	bitreich.org	70
i                         size <<= 1;	Err	bitreich.org	70
i-                        buf = realloc(buf, size);	Err	bitreich.org	70
i+                        if (!(b = realloc(buf, size + 1))) {	Err	bitreich.org	70
i+                                free(buf);	Err	bitreich.org	70
i+                                die("realloc");	Err	bitreich.org	70
i+                        }	Err	bitreich.org	70
i+                        buf = b;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         buf[off] = '\0';	Err	bitreich.org	70
1diff --git a/control.c b/control.c	/scm/iomenu/file/control.c.gph	bitreich.org	70
i@@ -32,6 +32,7 @@ static void	Err	bitreich.org	70
i move_page(signed int sign)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         int i;	Err	bitreich.org	70
i+        int rows = ws.ws_row - 1;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         i = current - current % rows + rows * sign;	Err	bitreich.org	70
i         if (!(0 <= i && i < matchc))	Err	bitreich.org	70
1diff --git a/display.c b/display.c	/scm/iomenu/file/display.c.gph	bitreich.org	70
i@@ -61,6 +61,7 @@ print_screen(void)	Err	bitreich.org	70
i         int p;	Err	bitreich.org	70
i         int i;	Err	bitreich.org	70
i         int cols = ws.ws_col - 1;	Err	bitreich.org	70
i+        int rows = ws.ws_row - 1;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         p = 0;	Err	bitreich.org	70
i         i = current - current % rows;	Err	bitreich.org	70
1diff --git a/iomenu.1 b/iomenu.1	/scm/iomenu/file/iomenu.1.gph	bitreich.org	70
i@@ -15,7 +15,6 @@	Err	bitreich.org	70
i .	Err	bitreich.org	70
i .Nm	Err	bitreich.org	70
i .Op Fl #	Err	bitreich.org	70
i-.Op Fl l Ar lines	Err	bitreich.org	70
i .Op Fl p Ar prompt	Err	bitreich.org	70
i .	Err	bitreich.org	70
i .	Err	bitreich.org	70
i@@ -32,11 +31,6 @@ The selected line is printed to standard output.	Err	bitreich.org	70
i .	Err	bitreich.org	70
i .Bl -tag -width XXXXXXXXXXXXXXXX	Err	bitreich.org	70
i .	Err	bitreich.org	70
i-.It Fl l Ar lines	Err	bitreich.org	70
i-If	Err	bitreich.org	70
i-.Ar lines	Err	bitreich.org	70
i-Total amount of lines to display on the screen.	Err	bitreich.org	70
i-.	Err	bitreich.org	70
i .It Fl p Ar prompt	Err	bitreich.org	70
i Set the prompt to display at the beginning of the input to	Err	bitreich.org	70
i .Ar prompt .	Err	bitreich.org	70
1diff --git a/iomenu.h b/iomenu.h	/scm/iomenu/file/iomenu.h.gph	bitreich.org	70
i@@ -16,4 +16,3 @@ extern char             input[LINE_MAX];	Err	bitreich.org	70
i extern char             formatted[LINE_MAX * 8];	Err	bitreich.org	70
i extern int              current;	Err	bitreich.org	70
i extern int              opt[128];	Err	bitreich.org	70
i-extern int              rows;	Err	bitreich.org	70
1diff --git a/main.c b/main.c	/scm/iomenu/file/main.c.gph	bitreich.org	70
i@@ -27,7 +27,6 @@ char            *prompt = "";	Err	bitreich.org	70
i char             input[LINE_MAX];	Err	bitreich.org	70
i char             formatted[LINE_MAX * 8];	Err	bitreich.org	70
i int              current = 0;	Err	bitreich.org	70
i-int              rows = 0;	Err	bitreich.org	70
i int              opt[128];	Err	bitreich.org	70
i 	Err	bitreich.org	70
i void	Err	bitreich.org	70
i@@ -66,7 +65,6 @@ sigwinch()	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         if (ioctl(ttyfd, TIOCGWINSZ, &ws) < 0)	Err	bitreich.org	70
i                 die("ioctl");	Err	bitreich.org	70
i-        rows = MIN(opt['l'], ws.ws_row - 1);	Err	bitreich.org	70
i         print_screen();	Err	bitreich.org	70
i         signal(SIGWINCH, sigwinch);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i@@ -74,7 +72,7 @@ sigwinch()	Err	bitreich.org	70
i static void	Err	bitreich.org	70
i usage(void)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i-        fputs("iomenu [-#] [-l lines] [-p prompt]\n", stderr);	Err	bitreich.org	70
i+        fputs("iomenu [-#] [-p prompt]\n", stderr);	Err	bitreich.org	70
i         exit(EXIT_FAILURE);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -82,15 +80,10 @@ static void	Err	bitreich.org	70
i parse_opt(int argc, char *argv[])	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         memset(opt, 0, 128 * sizeof (int));	Err	bitreich.org	70
i-        opt['l'] = 255;	Err	bitreich.org	70
i         for (argv++, argc--; argc > 0; argv++, argc--) {	Err	bitreich.org	70
i                 if (argv[0][0] != '-')	Err	bitreich.org	70
i                         usage();	Err	bitreich.org	70
i                 switch ((*argv)[1]) {	Err	bitreich.org	70
i-                case 'l':	Err	bitreich.org	70
i-                        if (!--argc || (opt['l'] = atoi(*++argv)) <= 0)	Err	bitreich.org	70
i-                                usage();	Err	bitreich.org	70
i-                        break;	Err	bitreich.org	70
i                 case 'p':	Err	bitreich.org	70
i                         if (!--argc)	Err	bitreich.org	70
i                                 usage();	Err	bitreich.org	70
i@@ -99,11 +92,6 @@ parse_opt(int argc, char *argv[])	Err	bitreich.org	70
i                 case '#':	Err	bitreich.org	70
i                         opt['#'] = 1;	Err	bitreich.org	70
i                         break;	Err	bitreich.org	70
i-                case 's':	Err	bitreich.org	70
i-                        if (!--argc)	Err	bitreich.org	70
i-                                usage();	Err	bitreich.org	70
i-                        opt['s'] = (int) **++argv;	Err	bitreich.org	70
i-                        break;	Err	bitreich.org	70
i                 default:	Err	bitreich.org	70
i                         usage();	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/iomenu/commit/972969f0568ff78...
Content-Typetext/plain; charset=utf-8