diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index f5f768fc..604c0bbe 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -126,7 +126,6 @@ int main(int argc, char* argv[]) log_space::get_set_log_detalisation_level(true, LOG_LEVEL_0); log_space::log_singletone::add_logger(LOGGER_CONSOLE, NULL, NULL); log_space::log_singletone::enable_channels("core,currency_protocol,tx_pool,wallet", false); - LOG_PRINT_L0("Starting..."); tools::signal_handler::install_fatal([](int sig_number, void* address) { LOG_ERROR("\n\nFATAL ERROR\nsig: " << sig_number << ", address: " << address); @@ -184,6 +183,7 @@ int main(int argc, char* argv[]) desc_options.add(desc_cmd_only).add(desc_cmd_sett); po::variables_map vm; + bool exit_requested = false; bool r = command_line::handle_error_helper(desc_options, [&]() { po::store(po::parse_command_line(argc, argv, desc_options), vm); @@ -192,7 +192,14 @@ int main(int argc, char* argv[]) { std::cout << CURRENCY_NAME << " v" << PROJECT_VERSION_LONG << ENDL << ENDL; std::cout << desc_options << std::endl; - return false; + exit_requested = true; + return true; + } + else if (command_line::get_arg(vm, command_line::arg_version)) + { + std::cout << CURRENCY_NAME << " v" << PROJECT_VERSION_LONG << ENDL << ENDL; + exit_requested = true; + return true; } std::string data_dir = command_line::get_arg(vm, command_line::arg_data_dir); @@ -214,9 +221,13 @@ int main(int argc, char* argv[]) return true; }); + if (!r) return EXIT_FAILURE; + if (exit_requested) + return EXIT_SUCCESS; + //set up logging options std::string log_dir; std::string log_file_name = log_space::log_singletone::get_default_log_file(); @@ -238,6 +249,7 @@ int main(int argc, char* argv[]) return EXIT_SUCCESS; } + LOG_PRINT_L0("Starting..."); // stratum server is enabled if any of its options present bool stratum_enabled = currency::stratum_server::should_start(vm); diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 9a5d07e2..44d8df3e 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -3227,20 +3227,23 @@ int main(int argc, char* argv[]) po::options_description desc_all; desc_all.add(desc_general).add(desc_params); po::variables_map vm; + bool exit_requested = false; bool r = command_line::handle_error_helper(desc_all, [&]() { po::store(command_line::parse_command_line(argc, argv, desc_general, true), vm); if (command_line::get_arg(vm, command_line::arg_help)) { - success_msg_writer() << "Usage: simplewallet [--wallet-file=|--generate-new-wallet=] [--daemon-address=:] []"; + success_msg_writer() << "Usage: simplewallet [--wallet-file=|--generate-new[-auditable]-wallet=] [--daemon-address=:] []"; success_msg_writer() << desc_all << '\n' << sw->get_commands_str(); - return false; + exit_requested = true; + return true; } else if (command_line::get_arg(vm, command_line::arg_version)) { success_msg_writer() << CURRENCY_NAME << " wallet v" << PROJECT_VERSION_LONG; - return false; + exit_requested = true; + return true; } auto parser = po::command_line_parser(argc, argv).options(desc_params).positional(positional_options); @@ -3248,8 +3251,13 @@ int main(int argc, char* argv[]) po::notify(vm); return true; }); + if (!r) return EXIT_FAILURE; + + if (exit_requested) + return EXIT_SUCCESS; + //set up logging options log_space::get_set_log_detalisation_level(true, LOG_LEVEL_0);