diff options
author | Kari Oikarinen <kari.oikarinen@qt.io> | 2018-11-01 10:13:17 +0200 |
---|---|---|
committer | Kari Oikarinen <kari.oikarinen@qt.io> | 2019-02-04 11:43:45 +0000 |
commit | de673f9aef239c93bb7935efd550c9380ecbfbaa (patch) | |
tree | 3898f474a769553ec64cc709ebefcd31e1507dc2 /src | |
parent | b5b749b7b8f4bcbd4547f0721e4f36e04f5337e6 (diff) |
Treat unknown command line arguments as an error
Also no need to go through the name of the program at index 0. If it had been
one of the valid command line arguments, the arguments would have been parsed
wrong.
Task-number: QTBUG-70548
Change-Id: Iccfb4c69fc3790d87f51f8fc1cf81620cc42ec3e
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/applicationsettings.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/applicationsettings.cpp b/src/applicationsettings.cpp index 3b97851..14e286b 100644 --- a/src/applicationsettings.cpp +++ b/src/applicationsettings.cpp @@ -27,7 +27,9 @@ ** ****************************************************************************/ #include "applicationsettings.h" + #include <QtCore/QCoreApplication> +#include <QtCore/QDebug> #include <QtCore/QStringList> ApplicationSettings::ApplicationSettings(QObject *parent) @@ -50,19 +52,23 @@ bool ApplicationSettings::isShowFPSEnabled() const bool ApplicationSettings::parseCommandLineArguments() { - QStringList args = QCoreApplication::arguments(); - for (int i=0; i<args.size(); ++i) { - if (args.at(i) == QStringLiteral("--main-file")) { + const QStringList args = QCoreApplication::arguments(); + for (int i = 1; i < args.size(); ++i) { + const QString arg = args.at(i); + if (arg == QStringLiteral("--main-file")) { ++i; m_mainFile = QUrl::fromUserInput(args.at(i)); - } else if (args.at(i) == QStringLiteral("--applications-root")) { + } else if (arg == QStringLiteral("--applications-root")) { ++i; m_appsRoot = args.at(i); - } else if (args.at(i) == QStringLiteral("--show-fps")) { + } else if (arg == QStringLiteral("--show-fps")) { m_isShowFPSEnabled = true; - } else if (args.at(i) == QStringLiteral("-h") - || args.at(i) == QStringLiteral("--help") - || args.at(i) == QStringLiteral("-?")) { + } else if (arg == QStringLiteral("-h") + || arg == QStringLiteral("--help") + || arg == QStringLiteral("-?")) { + return false; + } else { + qCritical() << "Unknown command line argument:" << args.at(i); return false; } } |