Merge pull request #5351
3d0a1ce
Process help and version arguments before datadir. (Pavel Janík)
This commit is contained in:
commit
ac0b2393a4
@ -66,6 +66,20 @@ static bool AppInitRPC(int argc, char* argv[])
|
|||||||
// Parameters
|
// Parameters
|
||||||
//
|
//
|
||||||
ParseParameters(argc, argv);
|
ParseParameters(argc, argv);
|
||||||
|
if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version")) {
|
||||||
|
std::string strUsage = _("Bitcoin Core RPC client version") + " " + FormatFullVersion() + "\n";
|
||||||
|
if (!mapArgs.count("-version")) {
|
||||||
|
strUsage += "\n" + _("Usage:") + "\n" +
|
||||||
|
" bitcoin-cli [options] <command> [params] " + _("Send command to Bitcoin Core") + "\n" +
|
||||||
|
" bitcoin-cli [options] help " + _("List commands") + "\n" +
|
||||||
|
" bitcoin-cli [options] help <command> " + _("Get help for a command") + "\n";
|
||||||
|
|
||||||
|
strUsage += "\n" + HelpMessageCli();
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(stdout, "%s", strUsage.c_str());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (!boost::filesystem::is_directory(GetDataDir(false))) {
|
if (!boost::filesystem::is_directory(GetDataDir(false))) {
|
||||||
fprintf(stderr, "Error: Specified data directory \"%s\" does not exist.\n", mapArgs["-datadir"].c_str());
|
fprintf(stderr, "Error: Specified data directory \"%s\" does not exist.\n", mapArgs["-datadir"].c_str());
|
||||||
return false;
|
return false;
|
||||||
@ -81,20 +95,6 @@ static bool AppInitRPC(int argc, char* argv[])
|
|||||||
fprintf(stderr, "Error: Invalid combination of -regtest and -testnet.\n");
|
fprintf(stderr, "Error: Invalid combination of -regtest and -testnet.\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (argc<2 || mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version")) {
|
|
||||||
std::string strUsage = _("Bitcoin Core RPC client version") + " " + FormatFullVersion() + "\n";
|
|
||||||
if (!mapArgs.count("-version")) {
|
|
||||||
strUsage += "\n" + _("Usage:") + "\n" +
|
|
||||||
" bitcoin-cli [options] <command> [params] " + _("Send command to Bitcoin Core") + "\n" +
|
|
||||||
" bitcoin-cli [options] help " + _("List commands") + "\n" +
|
|
||||||
" bitcoin-cli [options] help <command> " + _("Get help for a command") + "\n";
|
|
||||||
|
|
||||||
strUsage += "\n" + HelpMessageCli();
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(stdout, "%s", strUsage.c_str());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,31 +59,14 @@ bool AppInit(int argc, char* argv[])
|
|||||||
boost::thread* detectShutdownThread = NULL;
|
boost::thread* detectShutdownThread = NULL;
|
||||||
|
|
||||||
bool fRet = false;
|
bool fRet = false;
|
||||||
try
|
|
||||||
{
|
|
||||||
//
|
//
|
||||||
// Parameters
|
// Parameters
|
||||||
//
|
//
|
||||||
// If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main()
|
// If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main()
|
||||||
ParseParameters(argc, argv);
|
ParseParameters(argc, argv);
|
||||||
if (!boost::filesystem::is_directory(GetDataDir(false)))
|
|
||||||
{
|
|
||||||
fprintf(stderr, "Error: Specified data directory \"%s\" does not exist.\n", mapArgs["-datadir"].c_str());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
ReadConfigFile(mapArgs, mapMultiArgs);
|
|
||||||
} catch(std::exception &e) {
|
|
||||||
fprintf(stderr,"Error reading configuration file: %s\n", e.what());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// Check for -testnet or -regtest parameter (Params() calls are only valid after this clause)
|
|
||||||
if (!SelectParamsFromCommandLine()) {
|
|
||||||
fprintf(stderr, "Error: Invalid combination of -regtest and -testnet.\n");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Process help and version before taking care about datadir
|
||||||
if (mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version"))
|
if (mapArgs.count("-?") || mapArgs.count("-help") || mapArgs.count("-version"))
|
||||||
{
|
{
|
||||||
std::string strUsage = _("Bitcoin Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "\n";
|
std::string strUsage = _("Bitcoin Core Daemon") + " " + _("version") + " " + FormatFullVersion() + "\n";
|
||||||
@ -104,6 +87,26 @@ bool AppInit(int argc, char* argv[])
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (!boost::filesystem::is_directory(GetDataDir(false)))
|
||||||
|
{
|
||||||
|
fprintf(stderr, "Error: Specified data directory \"%s\" does not exist.\n", mapArgs["-datadir"].c_str());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ReadConfigFile(mapArgs, mapMultiArgs);
|
||||||
|
} catch(std::exception &e) {
|
||||||
|
fprintf(stderr,"Error reading configuration file: %s\n", e.what());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Check for -testnet or -regtest parameter (Params() calls are only valid after this clause)
|
||||||
|
if (!SelectParamsFromCommandLine()) {
|
||||||
|
fprintf(stderr, "Error: Invalid combination of -regtest and -testnet.\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Command-line RPC
|
// Command-line RPC
|
||||||
bool fCommandLine = false;
|
bool fCommandLine = false;
|
||||||
for (int i = 1; i < argc; i++)
|
for (int i = 1; i < argc; i++)
|
||||||
|
Loading…
Reference in New Issue
Block a user