Skip to content
Snippets Groups Projects
Commit 4a3b8090 authored by Florian Pose's avatar Florian Pose
Browse files

helpWanted; cmdName.

parent cbb1ce3e
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
****************************************************************************/ ****************************************************************************/
#include <getopt.h> #include <getopt.h>
#include <libgen.h> // basename()
#include <iostream> #include <iostream>
#include <string> #include <string>
...@@ -17,6 +18,7 @@ using namespace std; ...@@ -17,6 +18,7 @@ using namespace std;
#define DEFAULT_MASTER 0 #define DEFAULT_MASTER 0
static string cmdName;
static unsigned int masterIndex = DEFAULT_MASTER; static unsigned int masterIndex = DEFAULT_MASTER;
static int slavePosition = -1; static int slavePosition = -1;
static int domainIndex = -1; static int domainIndex = -1;
...@@ -25,13 +27,14 @@ vector<string> commandArgs; ...@@ -25,13 +27,14 @@ vector<string> commandArgs;
static Master::Verbosity verbosity = Master::Normal; static Master::Verbosity verbosity = Master::Normal;
string dataTypeStr; string dataTypeStr;
bool force = false; bool force = false;
bool helpWanted = false;
/*****************************************************************************/ /*****************************************************************************/
void printUsage() void printUsage()
{ {
cerr cerr
<< "Usage: ethercat <COMMAND> [OPTIONS]" << endl << "Usage: " << cmdName << " <COMMAND> [OPTIONS]" << endl
<< "Commands:" << endl << "Commands:" << endl
<< " alias Write alias addresses." << endl << " alias Write alias addresses." << endl
<< " config Show bus configuration." << endl << " config Show bus configuration." << endl
...@@ -63,7 +66,10 @@ void printUsage() ...@@ -63,7 +66,10 @@ void printUsage()
<< " --force -f Force action." << endl << " --force -f Force action." << endl
<< " --quiet -q Output less information." << endl << " --quiet -q Output less information." << endl
<< " --verbose -v Output more information." << endl << " --verbose -v Output more information." << endl
<< " --help -h Show this help." << endl; << " --help -h Show this help." << endl
<< "Call '" << cmdName << " <COMMAND> --help' for command-specific "
<< "help." << endl
<< "Send bug reports to " << PACKAGE_BUGREPORT << "." << endl;
} }
/*****************************************************************************/ /*****************************************************************************/
...@@ -148,9 +154,12 @@ void getOptions(int argc, char **argv) ...@@ -148,9 +154,12 @@ void getOptions(int argc, char **argv)
break; break;
case 'h': case 'h':
helpWanted = true;
break;
case '?': case '?':
printUsage(); printUsage();
exit(0); exit(1);
default: default:
break; break;
...@@ -160,10 +169,12 @@ void getOptions(int argc, char **argv) ...@@ -160,10 +169,12 @@ void getOptions(int argc, char **argv)
argCount = argc - optind; argCount = argc - optind;
if (!argCount) { if (!argCount) {
cerr << "Please specify a command!" << endl; if (!helpWanted) {
printUsage(); cerr << "Please specify a command!" << endl;
exit(1); }
printUsage();
exit(!helpWanted);
} }
command = argv[optind]; command = argv[optind];
...@@ -176,6 +187,8 @@ void getOptions(int argc, char **argv) ...@@ -176,6 +187,8 @@ void getOptions(int argc, char **argv)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
Master master; Master master;
cmdName = basename(argv[0]);
getOptions(argc, argv); getOptions(argc, argv);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment