Merge remote-tracking branch 'origin/paramsParser'

This commit is contained in:
Andrei Yankovich 2019-09-14 17:18:44 +03:00
commit 67b4dcda0b
2 changed files with 22 additions and 6 deletions

View File

@ -133,6 +133,16 @@ bool Params::writeLoginFile(const QString &log, VerboseLvl vLvl) {
} }
bool Params::parseParams(int argc,const char *argv[]) { bool Params::parseParams(int argc,const char *argv[]) {
QStringList params;
for (int i = 1; i < argc; i++) {
params.push_back(argv[i]);
}
return parseParams(params);
}
bool Params::parseParams(const QStringList &paramsArray) {
params.clear(); params.clear();
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
@ -156,16 +166,16 @@ bool Params::parseParams(int argc,const char *argv[]) {
return false; return false;
} }
for (int i = 1; i < argc; i++) { for (int i = 0 ; i < paramsArray.size(); ++i) {
if (argv[i][0] == '-' && i ) { if (paramsArray[i][0] == '-') {
if (i < (argc - 1) && argv[i + 1][0] != '-') { if (i < (paramsArray.size() - 1) && paramsArray[i + 1][0] != '-') {
params[&(argv[i][1])] = argv[i + 1]; params[paramsArray[i].mid(1)] = paramsArray[i + 1];
i++; i++;
} else { } else {
qWarning() << "Missing argument for " + QString(argv[i]) ; qWarning() << "Missing argument for " + paramsArray[i] ;
} }
} else { } else {
params[argv[i]] = ""; params[paramsArray[i]] = "";
} }
} }

View File

@ -41,6 +41,12 @@ public:
* @return true if all arguments read else false * @return true if all arguments read else false
*/ */
static bool parseParams(int argc, const char *argv[]); static bool parseParams(int argc, const char *argv[]);
/**
* @brief parseParams - parase input data of started application
* @param params - arguments
* @return true if all arguments read else false
*/
static bool parseParams(const QStringList& paramsArray);
/** /**
* @brief getStrArg - get string value of key * @brief getStrArg - get string value of key