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.
#include "command_line.h"
#include "string_tools.h"
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_version = {"version", "Output version information"};
const arg_descriptor<std::string> arg_data_dir = {"data-dir", "Specify data directory"};

View File

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

View File

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