From 8f843650d55c51ba149509a398e2f6dc59202765 Mon Sep 17 00:00:00 2001 From: "a.yankovich" Date: Tue, 10 Sep 2019 18:22:13 +0300 Subject: [PATCH] overide paramsparser --- params.cpp | 22 ++++++++++++++++------ params.h | 6 ++++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/params.cpp b/params.cpp index c242a65..708d30e 100644 --- a/params.cpp +++ b/params.cpp @@ -133,6 +133,16 @@ bool Params::writeLoginFile(const QString &log, VerboseLvl vLvl) { } 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 ¶msArray) { params.clear(); #ifdef Q_OS_WIN @@ -156,16 +166,16 @@ bool Params::parseParams(int argc,const char *argv[]) { return false; } - for (int i = 1; i < argc; i++) { - if (argv[i][0] == '-' && i ) { - if (i < (argc - 1) && argv[i + 1][0] != '-') { - params[&(argv[i][1])] = argv[i + 1]; + for (int i = 0 ; i < paramsArray.size(); ++i) { + if (paramsArray[i][0] == '-') { + if (i < (paramsArray.size() - 1) && paramsArray[i + 1][0] != '-') { + params[paramsArray[i].mid(1)] = paramsArray[i + 1]; i++; } else { - qWarning() << "Missing argument for " + QString(argv[i]) ; + qWarning() << "Missing argument for " + paramsArray[i] ; } } else { - params[argv[i]] = ""; + params[paramsArray[i]] = ""; } } diff --git a/params.h b/params.h index f712276..055977f 100644 --- a/params.h +++ b/params.h @@ -41,6 +41,12 @@ public: * @return true if all arguments read else false */ 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