diff options
author | kh1 <karsten.heimrich@digia.com> | 2014-10-30 17:39:32 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@digia.com> | 2014-11-04 11:24:53 +0100 |
commit | c6ae7c8a44d2dc6b0c4479ce4d965c364c2218ee (patch) | |
tree | 7fb9fe199e8098ae50d5e7b39b96c00829152340 /tools | |
parent | 6fa8eb61d8dac15db64683f287c351a52bcab1de (diff) |
Fix unregistering resources. Fix --operation argument parsing.
In case of dump we register some resources, though since we
return immediately after the function call, never unregister.
We need to split the arguments on our own, the parser does not.
Change-Id: Id97e0a4d8a3c15fd0027a09514a9c0a6930e7fdb
Reviewed-by: Niels Weber <niels.weber@digia.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/devtool/main.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/tools/devtool/main.cpp b/tools/devtool/main.cpp index 7b65e23b7..aa057c3e4 100644 --- a/tools/devtool/main.cpp +++ b/tools/devtool/main.cpp @@ -157,19 +157,19 @@ int main(int argc, char *argv[]) if (magicMarker != QInstaller::BinaryContent::MagicInstallerMarker) throw QInstaller::Error(QLatin1String("Source file is not an installer.")); BinaryDump bd; - return bd.dump(manager, parser.value(dump)); - } - - QInstaller::BinaryFormatEngineHandler::instance()->registerResources(manager - .collections()); // setup the binary format engine + result = bd.dump(manager, parser.value(dump)); + } else if (parser.isSet(run)) { + QInstaller::BinaryFormatEngineHandler::instance()->registerResources(manager + .collections()); // setup the binary format engine - if (parser.isSet(run)) { OperationRunner runner(magicMarker, operations); - const QStringList arguments = parser.values(run); + const QStringList arguments = parser.value(run).split(QLatin1Char(',')); if (arguments.first() == QLatin1String("DO")) result = runner.runOperation(arguments.mid(1), OperationRunner::RunMode::Do); else if (arguments.first() == QLatin1String("UNDO")) result = runner.runOperation(arguments.mid(1), OperationRunner::RunMode::Undo); + else + std::cerr << "Malformed argument: " << qPrintable(parser.value(run)) << std::endl; } } catch (const QInstaller::Error &error) { std::cerr << qPrintable(error.message()) << std::endl; |