X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=selector.cc;h=0f47dfaf6d921c27dd982c8c1ea45de45c1d7baf;hb=f1fc80b6ccba754689bae3b56f54bd8089f9c1a4;hp=fbd2d3dd59ed0c11632479b134e5023a3c2ce066;hpb=414ff39c648ddaca4e7fde98bbc2c033f1e23d2d;p=selector.git diff --git a/selector.cc b/selector.cc index fbd2d3d..0f47dfa 100644 --- a/selector.cc +++ b/selector.cc @@ -70,10 +70,11 @@ void inject_into_tty_buffer(char *string) { memset(&newtio, 0, sizeof(newtio)); // Set input mode (non-canonical, *no echo*,...) tcsetattr(STDIN_FILENO, TCSANOW, &newtio); - // Put the selected string in the tty input buffer char control_q = '\021'; + // Put the selected string in the tty input buffer for(char *k = string; *k; k++) { if(add_control_qs) { + // Add ^Q to quote control characters ioctl(STDIN_FILENO, TIOCSTI, &control_q); } ioctl(STDIN_FILENO, TIOCSTI, k); @@ -868,6 +869,7 @@ int main(int argc, char **argv) { char pattern[buffer_size]; pattern[0] = '\0'; + int cursor_position; cursor_position = 0; @@ -908,7 +910,8 @@ int main(int argc, char **argv) { int key; int current_line = 0, temporary_line = 0; - update_screen(¤t_line, &temporary_line, 0, nb_lines, labels, cursor_position, pattern); + update_screen(¤t_line, &temporary_line, 0, + nb_lines, labels, cursor_position, pattern); do {