From 05325916e9dc0f4c652bf4b75dc62261f7d9b591 Mon Sep 17 00:00:00 2001 From: girst Date: Sat, 5 Jan 2019 19:12:39 +0100 Subject: [PATCH] fix raw mode bug doesn't apply to this application, but was fixed in minesviiper --- viiper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/viiper.c b/viiper.c index b74cf79..35ad14e 100644 --- a/viiper.c +++ b/viiper.c @@ -701,7 +701,8 @@ void raw_mode(int enable) { struct termios raw_term_mode; if (enable) { - tcgetattr(STDIN_FILENO, &saved_term_mode); + if (saved_term_mode.c_lflag == 0)/*don't overwrite stored mode*/ + tcgetattr(STDIN_FILENO, &saved_term_mode); raw_term_mode = saved_term_mode; raw_term_mode.c_lflag &= ~(ICANON | ECHO); raw_term_mode.c_cc[VMIN] = 1 ; -- 2.39.3