diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-10-19 01:30:37 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-10-19 01:30:37 +0200 |
commit | 3e17bfe4f2e5e64f9528c26b38d4241ca46f1082 (patch) | |
tree | 940e98c492e136fa1d4bbd83abacc3d90b90adb8 /src/Client/PasswordReader.cpp | |
parent | 8635603e2f4f8b61026f69532f3cda51bd711f91 (diff) | |
download | mad-3e17bfe4f2e5e64f9528c26b38d4241ca46f1082.tar mad-3e17bfe4f2e5e64f9528c26b38d4241ca46f1082.zip |
Client: Added support for paged output
Diffstat (limited to 'src/Client/PasswordReader.cpp')
-rw-r--r-- | src/Client/PasswordReader.cpp | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/Client/PasswordReader.cpp b/src/Client/PasswordReader.cpp deleted file mode 100644 index cb77ad5..0000000 --- a/src/Client/PasswordReader.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - * PasswordReader.cpp - * - * Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de> - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "PasswordReader.h" - -#include <iostream> - -#ifdef _WIN32 -# define WIN32_LEAN_AND_MEAN -# include <windows.h> -#else -# include <termios.h> -# include <unistd.h> -#endif - -namespace Mad { -namespace Client { - -Core::String PasswordReader::readPassword(const Core::String &prompt) { -#ifdef _WIN32 - DWORD mode; - HANDLE handle = GetStdHandle(STD_INPUT_HANDLE); - GetConsoleMode(handle, &mode); - SetConsoleMode(handle, mode & ~(ENABLE_ECHO_INPUT)); -#else - struct termios termold, termnew; - - tcgetattr(STDIN_FILENO, &termold); - - termnew = termold; - termnew.c_lflag &= ~ECHO; - tcsetattr(STDIN_FILENO, TCSAFLUSH, &termnew); -#endif - - std::cout << prompt << std::flush; - Core::String password = Core::String::getline(std::cin); - std::cout << std::endl; - -#ifdef _WIN32 - SetConsoleMode(handle, mode); -#else - tcsetattr(STDIN_FILENO, TCSAFLUSH, &termold); -#endif - - return password; -} - -} -} |