DRY cin input_line (and test replacement of non-DRY usage)

This commit is contained in:
Thomas Winget 2014-06-08 18:12:38 -04:00
parent 537b911af1
commit ce352392d5
3 changed files with 19 additions and 6 deletions

View File

@ -3,9 +3,21 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php. // file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "command_line.h" #include "command_line.h"
#include "string_tools.h"
namespace command_line namespace command_line
{ {
std::string input_line(const std::string& prompt)
{
std::cout << prompt;
std::string buf;
std::getline(std::cin, buf);
return epee::string_tools::trim(buf);
}
const arg_descriptor<bool> arg_help = {"help", "Produce help message"}; const arg_descriptor<bool> arg_help = {"help", "Produce help message"};
const arg_descriptor<bool> arg_version = {"version", "Output version information"}; const arg_descriptor<bool> arg_version = {"version", "Output version information"};
const arg_descriptor<std::string> arg_data_dir = {"data-dir", "Specify data directory"}; const arg_descriptor<std::string> arg_data_dir = {"data-dir", "Specify data directory"};

View File

@ -14,6 +14,9 @@
namespace command_line namespace command_line
{ {
std::string input_line(const std::string& prompt);
template<typename T, bool required = false> template<typename T, bool required = false>
struct arg_descriptor; struct arg_descriptor;

View File

@ -212,12 +212,10 @@ bool simple_wallet::ask_wallet_create_if_needed()
{ {
std::string wallet_path; std::string wallet_path;
std::cout << "Specify wallet file name (e.g., wallet.bin). If the wallet doesn't exist, it will be created.\n"; wallet_path = command_line::input_line(
std::cout << "Wallet file name: "; "Specify wallet file name (e.g., wallet.bin). If the wallet doesn't exist, it will be created.\n"
"Wallet file name: "
std::getline(std::cin, wallet_path); );
wallet_path = string_tools::trim(wallet_path);
bool keys_file_exists; bool keys_file_exists;
bool wallet_file_exists; bool wallet_file_exists;