X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/0bb514502a1d80e9b023d0e8a379f3559798eec2..fb27c733133554aab2888a48bdb58c4502bc8a9b:/client/util.c diff --git a/client/util.c b/client/util.c index dec7c5a1..f13d730c 100644 --- a/client/util.c +++ b/client/util.c @@ -52,7 +52,22 @@ int ukbhit(void) return ( error == 0 ? cnt : -1 ); } -#else +char getch(void) +{ + char c; + int error; + struct termios Otty, Ntty; + if ( tcgetattr(STDIN_FILENO, &Otty) == -1 ) return -1; + Ntty = Otty; + Ntty.c_lflag &= ~ICANON; /* disable buffered i/o */ + if (0 == (error = tcsetattr(STDIN_FILENO, TCSANOW, &Ntty))) { // set new attributes + c = getchar(); + error += tcsetattr(STDIN_FILENO, TCSANOW, &Otty); // reset attributes + } + return ( error == 0 ? c : -1 ); +} + +#else // _WIN32 #include int ukbhit(void) {