SMOLNET PORTAL home about changes
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
Original URLgopher://bitreich.org/0/scm/iomenu/commit/0502e73cca4f319...
Content-Typetext/plain; charset=utf-8