summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2014-10-30 17:39:32 +0100
committerKarsten Heimrich <karsten.heimrich@digia.com>2014-11-04 11:24:53 +0100
commitc6ae7c8a44d2dc6b0c4479ce4d965c364c2218ee (patch)
tree7fb9fe199e8098ae50d5e7b39b96c00829152340 /tools
parent6fa8eb61d8dac15db64683f287c351a52bcab1de (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.cpp14
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;