imidway from converting input.c - 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 60947ffd7f79328a77d58ca78da7ff46c602fd1f /scm/iomenu/commit/60947ffd7f79328a77d58ca78da7ff46c602fd1f.gph bitreich.org 70 1parent 9786d2c290cdd4b3a37979155ced24f86f8358f5 /scm/iomenu/commit/9786d2c290cdd4b3a37979155ced24f86f8358f5.gph bitreich.org 70 hAuthor: Josuah Demangeonā  ā µ URL:mailto:mail@josuah.net bitreich.org 70 iDate: Wed, 15 Mar 2017 23:13:08 +0100 Err bitreich.org 70 i Err bitreich.org 70 imidway from converting input.c Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M input.c | 35 ++++++++++++++----------------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 16 insertions(+), 19 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/input.c b/input.c /scm/iomenu/file/input.c.gph bitreich.org 70 i@@ -19,7 +19,6 @@ input_get(int tty_fd) Err bitreich.org 70 i /* receive one character at a time from the terminal */ Err bitreich.org 70 i struct termios termio_old = set_terminal(tty_fd); Err bitreich.org 70 i Err bitreich.org 70 i- /* get input char by char from the keyboard. */ Err bitreich.org 70 i while ((exit_code = input_key(tty_fp)) == CONTINUE) Err bitreich.org 70 i draw_screen(tty_fd); Err bitreich.org 70 i Err bitreich.org 70 i@@ -38,6 +37,8 @@ input_get(int tty_fd) Err bitreich.org 70 i int Err bitreich.org 70 i input_key(FILE *tty_fp) Err bitreich.org 70 i { Err bitreich.org 70 i+ extern char *input; Err bitreich.org 70 i+ Err bitreich.org 70 i char key = fgetc(tty_fp); Err bitreich.org 70 i Err bitreich.org 70 i if (key == '\n') { Err bitreich.org 70 i@@ -53,14 +54,14 @@ input_key(FILE *tty_fp) Err bitreich.org 70 i Err bitreich.org 70 i case CONTROL('U'): Err bitreich.org 70 i input[0] = '\0'; Err bitreich.org 70 i- buffer[current] = first; Err bitreich.org 70 i+ current = 0; Err bitreich.org 70 i filter_lines(0); Err bitreich.org 70 i action_jump(1); Err bitreich.org 70 i action_jump(-1); Err bitreich.org 70 i break; Err bitreich.org 70 i Err bitreich.org 70 i case CONTROL('W'): Err bitreich.org 70 i- action_remove_word_input(buffer); Err bitreich.org 70 i+ action_remove_word_input(); Err bitreich.org 70 i filter_lines(0); Err bitreich.org 70 i break; Err bitreich.org 70 i Err bitreich.org 70 i@@ -73,7 +74,6 @@ input_key(FILE *tty_fp) Err bitreich.org 70 i Err bitreich.org 70 i case CONTROL('N'): Err bitreich.org 70 i action_jump(1); Err bitreich.org 70 i- extern char *input; Err bitreich.org 70 i break; Err bitreich.org 70 i Err bitreich.org 70 i case CONTROL('P'): Err bitreich.org 70 i@@ -81,7 +81,7 @@ input_key(FILE *tty_fp) Err bitreich.org 70 i break; Err bitreich.org 70 i Err bitreich.org 70 i case CONTROL('I'): /* tab */ Err bitreich.org 70 i- strcpy(input, buffer[current]->content); Err bitreich.org 70 i+ strcpy(input, buffer[current]->text); Err bitreich.org 70 i filter_lines(1); Err bitreich.org 70 i break; Err bitreich.org 70 i Err bitreich.org 70 i@@ -148,9 +148,9 @@ action_jump(int direction) Err bitreich.org 70 i Line * line = buffer[current]; Err bitreich.org 70 i Line * result = line; Err bitreich.org 70 i Err bitreich.org 70 i- if (direction == 0 && !buffer[current]->matches) { Err bitreich.org 70 i- line = matching_next(buffer[current]); Err bitreich.org 70 i- line = line ? line : matching_prev(buffer[current]); Err bitreich.org 70 i+ if (direction == 0 && !buffer[current]->match) { Err bitreich.org 70 i+ line = matching_next(current); Err bitreich.org 70 i+ line = line ? line : matching_prev(current); Err bitreich.org 70 i result = line ? line : result; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -174,14 +174,13 @@ action_jump(int direction) Err bitreich.org 70 i void Err bitreich.org 70 i action_remove_word_input() Err bitreich.org 70 i { Err bitreich.org 70 i- size_t length = strlen(input) - 1; Err bitreich.org 70 i- int i; Err bitreich.org 70 i+ size_t len = strlen(input) - 1; Err bitreich.org 70 i Err bitreich.org 70 i- for (i = length; i >= 0 && isspace(input[i]); i--) Err bitreich.org 70 i+ for (int i = len; i >= 0 && isspace(input[i]); i--) Err bitreich.org 70 i input[i] = '\0'; Err bitreich.org 70 i Err bitreich.org 70 i- length = strlen(input) - 1; Err bitreich.org 70 i- for (i = length; i >= 0 && !isspace(input[i]); i--) Err bitreich.org 70 i+ len = strlen(input) - 1; Err bitreich.org 70 i+ for (int i = len; i >= 0 && !isspace(input[i]); i--) Err bitreich.org 70 i input[i] = '\0'; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -192,11 +191,11 @@ action_remove_word_input() Err bitreich.org 70 i void Err bitreich.org 70 i action_add_character(char key) Err bitreich.org 70 i { Err bitreich.org 70 i- size_t length = strlen(input); Err bitreich.org 70 i+ size_t len = strlen(input); Err bitreich.org 70 i Err bitreich.org 70 i if (isprint(key)) { Err bitreich.org 70 i- input[length] = key; Err bitreich.org 70 i- input[length + 1] = '\0'; Err bitreich.org 70 i+ input[len] = key; Err bitreich.org 70 i+ input[len + 1] = '\0'; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i filter_lines(1); Err bitreich.org 70 i@@ -211,14 +210,12 @@ action_add_character(char key) Err bitreich.org 70 i void Err bitreich.org 70 i action_print_selection(int return_input) Err bitreich.org 70 i { Err bitreich.org 70 i- Line *line = NULL; Err bitreich.org 70 i- Err bitreich.org 70 i fputs("\r\033[K", stderr); Err bitreich.org 70 i Err bitreich.org 70 i if (return_input || !matching) { Err bitreich.org 70 i puts(input); Err bitreich.org 70 i Err bitreich.org 70 i } else if (matching > 0) { Err bitreich.org 70 i- puts(buffer[current]->content); Err bitreich.org 70 i+ puts(buffer[current]->text); Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 .