BUG: in Appl::parseArgs: 'Checking if necessary arguments were entered' added.

This commit is contained in:
Roland Jax
2014-06-10 13:51:05 +02:00
parent 5ce18994d5
commit cb35117785
3 changed files with 22 additions and 18 deletions
+6 -2
View File
@@ -86,7 +86,7 @@ bool Appl::parseArgs(int argc, char* argv[])
m_argc = argc; m_argc = argc;
m_argv = _argv; m_argv = _argv;
for (int i = 1; i < m_argc; i++) { for (size_t i = 1; i < m_argc; i++) {
// find option with long format '--' // find option with long format '--'
if (m_argv[i].rfind("--") == 0 && m_argv[i].size() > 2) { if (m_argv[i].rfind("--") == 0 && m_argv[i].size() > 2) {
@@ -124,13 +124,17 @@ bool Appl::parseArgs(int argc, char* argv[])
if (m_argc < (m_argNum + 1)) if (m_argc < (m_argNum + 1))
return false; return false;
for (int i = 1; i < m_argc; i++) { for (size_t i = 1; i < m_argc; i++) {
if (m_argv[i].rfind("-", 0) != std::string::npos) { if (m_argv[i].rfind("-", 0) != std::string::npos) {
i++; i++;
continue; continue;
} }
m_argValues.push_back(m_argv[i]); m_argValues.push_back(m_argv[i]);
} }
if (m_argValues.size() < m_argNum)
return false;
} }
return true; return true;
+2 -2
View File
@@ -88,7 +88,7 @@ private:
Optiontype optiontype; Optiontype optiontype;
}; };
int m_argc; size_t m_argc;
std::vector<std::string> m_argv; std::vector<std::string> m_argv;
std::vector<Arg> m_args; std::vector<Arg> m_args;
@@ -98,7 +98,7 @@ private:
std::map<const char*, Param>::iterator p_it; std::map<const char*, Param>::iterator p_it;
std::string m_argTxt; std::string m_argTxt;
int m_argNum; size_t m_argNum;
std::vector<std::string> m_argValues; std::vector<std::string> m_argValues;
+14 -14
View File
@@ -78,7 +78,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case get: case get:
if (cmd.size() < 3 || cmd.size() > 4) { if (cmd.size() < 3 || cmd.size() > 4) {
result << "format: [get class cmd (sub)]"; result << "usage: 'get class cmd (sub)'";
break; break;
} }
@@ -120,7 +120,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case set: case set:
if (cmd.size() != 4) { if (cmd.size() != 4) {
result << "format: [set class cmd value]"; result << "usage: 'set class cmd value'";
break; break;
} }
@@ -173,7 +173,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case cyc: case cyc:
if (cmd.size() < 3 || cmd.size() > 4) { if (cmd.size() < 3 || cmd.size() > 4) {
result << "format: [cyc class cmd (sub)]"; result << "usage: 'cyc class cmd (sub)'";
break; break;
} }
@@ -201,7 +201,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case hex: case hex:
if (cmd.size() != 3) { if (cmd.size() != 3) {
result << "format: [hex type value] (ZZ PB SB NN Dx)"; result << "usage: 'hex type value' (value: ZZPBSBNNDx)";
break; break;
} }
@@ -234,7 +234,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case dump: case dump:
if (cmd.size() != 2) { if (cmd.size() != 2) {
result << "format: [dump state] (on|off)"; result << "usage: 'dump state' (state: on|off)";
break; break;
} }
@@ -245,7 +245,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case logarea: case logarea:
if (cmd.size() != 2) { if (cmd.size() != 2) {
result << "format: [logarea area,area,..] (bas|net|bus|cyc|all)"; result << "usage: 'logarea area,area,..' (area: bas|net|bus|cyc|all)";
break; break;
} }
@@ -255,7 +255,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case loglevel: case loglevel:
if (cmd.size() != 2) { if (cmd.size() != 2) {
result << "format: [loglevel level] (error|event|trace|debug)"; result << "usage: 'loglevel level' (level: error|event|trace|debug)";
break; break;
} }
@@ -265,13 +265,13 @@ std::string BaseLoop::decodeMessage(const std::string& data)
case help: case help:
result << "commands:" << std::endl result << "commands:" << std::endl
<< " get - fetch ebus data [get class cmd (sub)]" << std::endl << " get - fetch ebus data 'get class cmd (sub)'" << std::endl
<< " set - set ebus values [set class cmd value]" << std::endl << " set - set ebus values 'set class cmd value'" << std::endl
<< " cyc - fetch cycle data [cyc class cmd (sub)]" << std::endl << " cyc - fetch cycle data 'cyc class cmd (sub)'" << std::endl
<< " hex - send given hex value [hex type value] (ZZ PB SB NN Dx)" << std::endl << " hex - send given hex value 'hex type value' (value: ZZPBSBNNDx)" << std::endl
<< " dump - change dump state [dump state] (on|off)" << std::endl << " dump - change dump state 'dump state' (state: on|off)" << std::endl
<< " logarea - change log area [logarea area,area,..] (bas|net|bus|cyc|all)" << std::endl << " logarea - change log area 'logarea area,area,..' (area: bas|net|bus|cyc|all)" << std::endl
<< " loglevel - change log level [loglevel level] (error|event|trace|debug)" << std::endl << " loglevel - change log level 'loglevel level' (level: error|event|trace|debug)" << std::endl
<< " quit - close connection" << std::endl << " quit - close connection" << std::endl
<< " help - print this page"; << " help - print this page";
break; break;