From ad9d6a199db7c28f8b20f131dfb55a26e0e251de Mon Sep 17 00:00:00 2001 From: Nakidai Date: Sun, 23 Mar 2025 21:11:13 +0300 Subject: Again... --- src/platform/getch.c | 53 ---------------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 src/platform/getch.c (limited to 'src/platform/getch.c') diff --git a/src/platform/getch.c b/src/platform/getch.c deleted file mode 100644 index 48c846e..0000000 --- a/src/platform/getch.c +++ /dev/null @@ -1,53 +0,0 @@ -#ifdef _WIN32 -void getch_init(void) {} -#else -#include -#include -#include -#include -#include -#include - -static struct termios default_state = {0}; - -int getch(void) -{ - int ch = 0; - struct termios old = {0}; - fflush(stdout); - - tcgetattr(0, &old); - old.c_lflag &= ~ICANON; - - tcsetattr(0, TCSANOW, &old); - ch = getchar(); - tcsetattr(0, TCSADRAIN, &default_state); - - return ch; -} - -static void get_reset_terminal_state(void) -{ - tcsetattr(0, TCSANOW, &default_state); -} - -static noreturn void get_reset_terminal_state_handler(int sig) -{ - get_reset_terminal_state(); - _Exit(sig); -} - -void getch_init(void) -{ - tcgetattr(0, &default_state); - - atexit(get_reset_terminal_state); - - signal(SIGINT, get_reset_terminal_state_handler); - signal(SIGABRT, get_reset_terminal_state_handler); - signal(SIGFPE, get_reset_terminal_state_handler); - signal(SIGILL, get_reset_terminal_state_handler); - signal(SIGSEGV, get_reset_terminal_state_handler); - signal(SIGTERM, get_reset_terminal_state_handler); -} -#endif /* _WIN32 */ -- cgit 1.4.1