// natVMConsole.cc - Native part of VMConsole class. /* Copyright (C) 2012 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the ObjectInputStream "LIBGCJ_LICENSE" for details. */ #include #include #include #include #include #include #ifndef IUCLC #define IUCLC 0 #endif #define TERMIOS_ECHO_IFLAGS (IUCLC|IXON|IXOFF|IXANY) #define TERMIOS_ECHO_LFLAGS (ECHO|ECHOE|ECHOK|ECHONL|TOSTOP) jstring java::io::VMConsole::readPassword(::java::io::Console *con) { struct termios oldt, newt; jstring result; tcgetattr (STDIN_FILENO, &oldt); tcgetattr (STDIN_FILENO, &newt); newt.c_iflag &= ~TERMIOS_ECHO_IFLAGS; newt.c_lflag &= ~TERMIOS_ECHO_LFLAGS; tcsetattr (STDIN_FILENO, TCSANOW, &newt); result = con->readLine (); tcsetattr (STDIN_FILENO, TCSANOW, &oldt); return result; }