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