i*.c: included each other - 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 0502e73cca4f319ac484f66983cf6d40bdf843da /scm/iomenu/commit/0502e73cca4f319ac484f66983cf6d40bdf843da.gph bitreich.org 70
1parent 2743c784dbce7910cbec895c42a723f06fa7b620 /scm/iomenu/commit/2743c784dbce7910cbec895c42a723f06fa7b620.gph bitreich.org 70
hAuthor: Josuah Demangeon <mail@josuah.net> URL:mailto:mail@josuah.net bitreich.org 70
iDate: Sun, 29 Oct 2017 22:17:52 +0100 Err bitreich.org 70
i Err bitreich.org 70
i*.c: included each other Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M Makefile | 5 ++++- Err bitreich.org 70
i M buffer.c | 21 ++++++++++++++++++--- Err bitreich.org 70
i M control.c | 20 ++++++++++++++++---- Err bitreich.org 70
i M display.c | 10 +++++++++- Err bitreich.org 70
i D iomenu.core | 0 Err bitreich.org 70
i A iomenu.h | 21 +++++++++++++++++++++ Err bitreich.org 70
i M main.c | 31 ++++++++++++++++++++++++++++++- Err bitreich.org 70
i M main.h | 30 +----------------------------- Err bitreich.org 70
i M utf8.c | 2 ++ Err bitreich.org 70
i Err bitreich.org 70
i9 files changed, 101 insertions(+), 39 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/Makefile b/Makefile /scm/iomenu/file/Makefile.gph bitreich.org 70
i@@ -1,12 +1,15 @@ Err bitreich.org 70
i-CFLAGS = -std=c89 -Wpedantic -Wall -Wextra -g -D_POSIX_C_SOURCE=200809L Err bitreich.org 70
i+CFLAGS = -std=c89 -pedantic -Wall -Wextra -g -D_POSIX_C_SOURCE=200809L Err bitreich.org 70
i Err bitreich.org 70
i OBJ = buffer.o control.o display.o main.o utf8.o Err bitreich.org 70
i+INC = buffer.h control.h display.h main.h utf8.h iomenu.h Err bitreich.org 70
i Err bitreich.org 70
i all: iomenu Err bitreich.org 70
i Err bitreich.org 70
i iomenu: $(OBJ) Err bitreich.org 70
i $(CC) $(LDFLAGS) $(OBJ) -o $@ Err bitreich.org 70
i Err bitreich.org 70
i+$(OBJ): $(INC) Err bitreich.org 70
i+ Err bitreich.org 70
i clean: Err bitreich.org 70
i rm -f *.o iomenu 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@@ -1,4 +1,14 @@ Err bitreich.org 70
i+#include <sys/ioctl.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+#include <stdio.h> Err bitreich.org 70
i+#include <stdlib.h> Err bitreich.org 70
i+#include <string.h> Err bitreich.org 70
i+#include <limits.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+#include "iomenu.h" Err bitreich.org 70
i #include "buffer.h" Err bitreich.org 70
i+#include "main.h" Err bitreich.org 70
i+#include "control.h" Err bitreich.org 70
i Err bitreich.org 70
i static char * Err bitreich.org 70
i read_line(FILE *fp) Err bitreich.org 70
i@@ -34,6 +44,8 @@ match_line(char *line, char **tokv, int tokc) Err bitreich.org 70
i void Err bitreich.org 70
i free_lines(void) Err bitreich.org 70
i { Err bitreich.org 70
i+ extern char **linev; Err bitreich.org 70
i+ Err bitreich.org 70
i if (linev) { Err bitreich.org 70
i for (; linec > 0; linec--) Err bitreich.org 70
i free(linev[linec - 1]); Err bitreich.org 70
i@@ -46,12 +58,13 @@ free_lines(void) Err bitreich.org 70
i void Err bitreich.org 70
i read_stdin(void) Err bitreich.org 70
i { Err bitreich.org 70
i- int size = 0; Err bitreich.org 70
i+ int size = 0; Err bitreich.org 70
i+ extern char **linev; Err bitreich.org 70
i Err bitreich.org 70
i while (1) { Err bitreich.org 70
i if (linec >= size) { Err bitreich.org 70
i size += BUFSIZ; Err bitreich.org 70
i- linev = realloc(linev, sizeof (char **) * size); Err bitreich.org 70
i+ linev = realloc(linev, sizeof (char **) * size); Err bitreich.org 70
i matchv = realloc(matchv, sizeof (char **) * size); Err bitreich.org 70
i if (!linev || !matchv) Err bitreich.org 70
i die("realloc"); Err bitreich.org 70
i@@ -67,11 +80,13 @@ void Err bitreich.org 70
i filter(void) Err bitreich.org 70
i { Err bitreich.org 70
i int tokc = 0; Err bitreich.org 70
i- int n = 0; Err bitreich.org 70
i+ int n = 0; Err bitreich.org 70
i int i; Err bitreich.org 70
i char **tokv = NULL; Err bitreich.org 70
i char *s; Err bitreich.org 70
i char buffer[sizeof (input)]; Err bitreich.org 70
i+ extern char **linev; Err bitreich.org 70
i+ extern current; Err bitreich.org 70
i Err bitreich.org 70
i current = offset = next = 0; Err bitreich.org 70
i strcpy(buffer, input); Err bitreich.org 70
1diff --git a/control.c b/control.c /scm/iomenu/file/control.c.gph bitreich.org 70
i@@ -1,4 +1,15 @@ Err bitreich.org 70
i+#include <sys/ioctl.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+#include <stddef.h> Err bitreich.org 70
i+#include <limits.h> Err bitreich.org 70
i+#include <string.h> Err bitreich.org 70
i+#include <ctype.h> Err bitreich.org 70
i+#include <stdio.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+#include "iomenu.h" Err bitreich.org 70
i+#include "buffer.h" Err bitreich.org 70
i #include "control.h" Err bitreich.org 70
i+#include "display.h" Err bitreich.org 70
i Err bitreich.org 70
i #define CTL(char) ((char) ^ 0x40) Err bitreich.org 70
i #define ALT(char) ((char) + 0x80) Err bitreich.org 70
i@@ -22,7 +33,8 @@ width(char *s) Err bitreich.org 70
i int Err bitreich.org 70
i prev_page(int pos) Err bitreich.org 70
i { Err bitreich.org 70
i- int col, cols = ws.ws_col - MARGIN - 4; Err bitreich.org 70
i+ int col; Err bitreich.org 70
i+ int cols = ws.ws_col - MARGIN - 4; Err bitreich.org 70
i Err bitreich.org 70
i pos -= pos > 0 ? 1 : 0; Err bitreich.org 70
i for (col = 0; pos > 0; pos--) Err bitreich.org 70
i@@ -111,7 +123,7 @@ key(int k) Err bitreich.org 70
i top: Err bitreich.org 70
i switch (k) { Err bitreich.org 70
i case CTL('C'): Err bitreich.org 70
i- return EXIT_FAILURE; Err bitreich.org 70
i+ return -1; Err bitreich.org 70
i case CTL('U'): Err bitreich.org 70
i input[0] = '\0'; Err bitreich.org 70
i filter(); Err bitreich.org 70
i@@ -154,7 +166,7 @@ top: Err bitreich.org 70
i case CTL('J'): /* enter */ Err bitreich.org 70
i case CTL('M'): Err bitreich.org 70
i print_selection(); Err bitreich.org 70
i- return EXIT_SUCCESS; Err bitreich.org 70
i+ return 0; Err bitreich.org 70
i case ALT('['): Err bitreich.org 70
i k = CSI(fgetc(stdin)); Err bitreich.org 70
i goto top; Err bitreich.org 70
i@@ -165,5 +177,5 @@ top: Err bitreich.org 70
i add_char((char) k); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i- return CONTINUE; Err bitreich.org 70
i+ return 1; Err bitreich.org 70
i } Err bitreich.org 70
1diff --git a/display.c b/display.c /scm/iomenu/file/display.c.gph bitreich.org 70
i@@ -1,3 +1,11 @@ Err bitreich.org 70
i+#include <sys/ioctl.h> Err bitreich.org 70
i+#include <string.h> Err bitreich.org 70
i+#include <stdio.h> Err bitreich.org 70
i+#include <limits.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+#include "iomenu.h" Err bitreich.org 70
i+#include "utf8.h" Err bitreich.org 70
i+#include "control.h" Err bitreich.org 70
i #include "display.h" Err bitreich.org 70
i Err bitreich.org 70
i static char * Err bitreich.org 70
i@@ -15,7 +23,7 @@ format(char *str, int cols) Err bitreich.org 70
i col++; Err bitreich.org 70
i } Err bitreich.org 70
i str++; Err bitreich.org 70
i- } else if (utf8_to_rune(&rune, str) && rune_is_print(rune)) { Err bitreich.org 70
i+ } else if (utf8_to_rune(&rune, str) && utf8_is_print(rune)) { Err bitreich.org 70
i int i = utf8_len(str); Err bitreich.org 70
i while (i--) Err bitreich.org 70
i *fmt++ = *str++; Err bitreich.org 70
1diff --git a/iomenu.core b/iomenu.core /scm/iomenu/file/iomenu.core.gph bitreich.org 70
iBinary files differ. Err bitreich.org 70
1diff --git a/iomenu.h b/iomenu.h /scm/iomenu/file/iomenu.h.gph bitreich.org 70
i@@ -0,0 +1,21 @@ Err bitreich.org 70
i+#ifndef SIGWINCH Err bitreich.org 70
i+#define SIGWINCH 28 Err bitreich.org 70
i+#endif Err bitreich.org 70
i+ Err bitreich.org 70
i+#define MARGIN 30 Err bitreich.org 70
i+ Err bitreich.org 70
i+#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) Err bitreich.org 70
i+ Err bitreich.org 70
i+extern struct winsize ws; Err bitreich.org 70
i+extern char **linev; Err bitreich.org 70
i+extern int linec; Err bitreich.org 70
i+extern char **matchv; Err bitreich.org 70
i+extern int matchc; Err bitreich.org 70
i+extern char *prompt; Err bitreich.org 70
i+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 offset; Err bitreich.org 70
i+extern int next; 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@@ -1,8 +1,37 @@ Err bitreich.org 70
i+#include <sys/ioctl.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+#include <stdio.h> Err bitreich.org 70
i+#include <stdlib.h> Err bitreich.org 70
i+#include <termios.h> Err bitreich.org 70
i+#include <signal.h> Err bitreich.org 70
i+#include <string.h> Err bitreich.org 70
i+#include <unistd.h> Err bitreich.org 70
i+#include <fcntl.h> Err bitreich.org 70
i+#include <limits.h> Err bitreich.org 70
i+ Err bitreich.org 70
i+#include "iomenu.h" Err bitreich.org 70
i #include "main.h" Err bitreich.org 70
i+#include "buffer.h" Err bitreich.org 70
i+#include "control.h" Err bitreich.org 70
i+#include "display.h" Err bitreich.org 70
i Err bitreich.org 70
i static struct termios termios; Err bitreich.org 70
i static int ttyfd; Err bitreich.org 70
i Err bitreich.org 70
i+struct winsize ws; Err bitreich.org 70
i+char **linev = NULL; Err bitreich.org 70
i+int linec = 0; Err bitreich.org 70
i+char **matchv = NULL; Err bitreich.org 70
i+int matchc = 0; Err bitreich.org 70
i+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 offset = 0; Err bitreich.org 70
i+int rows = 0; Err bitreich.org 70
i+int next = 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 die(const char *s) Err bitreich.org 70
i { Err bitreich.org 70
i@@ -112,7 +141,7 @@ main(int argc, char *argv[]) Err bitreich.org 70
i set_terminal(); Err bitreich.org 70
i sigwinch(); Err bitreich.org 70
i input[0] = '\0'; Err bitreich.org 70
i- while ((exit_code = key(fgetc(stdin))) == CONTINUE) Err bitreich.org 70
i+ while ((exit_code = key(fgetc(stdin))) > 0) Err bitreich.org 70
i print_screen(); Err bitreich.org 70
i print_screen(); Err bitreich.org 70
i reset_terminal(); Err bitreich.org 70
1diff --git a/main.h b/main.h /scm/iomenu/file/main.h.gph bitreich.org 70
i@@ -1,29 +1 @@ Err bitreich.org 70
i-#ifndef SIGWINCH Err bitreich.org 70
i-#define SIGWINCH 28 Err bitreich.org 70
i-#endif Err bitreich.org 70
i- Err bitreich.org 70
i-#define CONTINUE (EXIT_SUCCESS + EXIT_FAILURE + 1) Err bitreich.org 70
i-#define MARGIN 30 Err bitreich.org 70
i- Err bitreich.org 70
i-#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) Err bitreich.org 70
i- Err bitreich.org 70
i-winsize ws; Err bitreich.org 70
i-char **linev = NULL; Err bitreich.org 70
i-int linec = 0; Err bitreich.org 70
i-char **matchv = NULL; Err bitreich.org 70
i-int matchc = 0; Err bitreich.org 70
i-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 offset = 0; Err bitreich.org 70
i-int next = 0; Err bitreich.org 70
i-int opt[128]; Err bitreich.org 70
i-int rows = 0; Err bitreich.org 70
i- Err bitreich.org 70
i-size_t utf8_len (char *); Err bitreich.org 70
i-size_t rune_len (long); Err bitreich.org 70
i-size_t utf8_to_rune (long *, char *); Err bitreich.org 70
i-int utf8_is_unicode (long); Err bitreich.org 70
i-int utf8_check (char *); Err bitreich.org 70
i-int utf8_is_print (long); Err bitreich.org 70
i+void die (const char *); Err bitreich.org 70
1diff --git a/utf8.c b/utf8.c /scm/iomenu/file/utf8.c.gph bitreich.org 70
i@@ -1,3 +1,5 @@ Err bitreich.org 70
i+#include <stddef.h> Err bitreich.org 70
i+ Err bitreich.org 70
i #include "utf8.h" Err bitreich.org 70
i Err bitreich.org 70
i /* Err bitreich.org 70
.
Response:
text/plain