diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-27 13:44:22 +0100 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-27 13:44:22 +0100 |
commit | ce050716c2e4f1dd56fbd3fa3290bfe258ea1af6 (patch) | |
tree | 08fd568718b2d664003ae65513b940942a808b0e /src/configuration.cpp | |
parent | Using boost::program_options instead of libconfig (diff) | |
download | smolbote-ce050716c2e4f1dd56fbd3fa3290bfe258ea1af6.tar.xz |
Passing unknown command line parameters to the Configuration
- no longer compiling CookiesForm that we don't use
Diffstat (limited to 'src/configuration.cpp')
-rw-r--r-- | src/configuration.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp index 4e72d18..c114155 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -12,7 +12,7 @@ namespace po = boost::program_options; -Configuration::Configuration(const QStringList &options) +Configuration::Configuration() { m_homePath = QStandardPaths::writableLocation(QStandardPaths::HomeLocation).toStdString(); @@ -81,20 +81,13 @@ Configuration::Configuration(const QStringList &options) // store the defaults into the vm { - int argc = options.length(); - const char* argv[argc]; - for(int i = 0; i < argc; ++i) { - argv[i] = qUtf8Printable(options.at(i)); - } - - po::store(po::parse_command_line(argc, argv, desc), vm); + const char* argv[0]; + po::store(po::parse_command_line(0, argv, desc), vm); } } -Configuration::~Configuration() -{ -} +Configuration::~Configuration() = default; bool Configuration::read(const QString &path) { @@ -103,3 +96,13 @@ bool Configuration::read(const QString &path) return true; } +bool Configuration::parse(int argc, const char **argv) +{ + try { + po::store(po::parse_command_line(argc, argv, desc), vm); + } catch (const po::error &e) { + return false; + } + + return true; +} |