From 506ceaa02734363f68827c0df227dcb0774e8852 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 12 Oct 2015 17:21:53 +0000 Subject: improved command line parser (#814) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5672 90c681e8-e032-0410-971d-27865f9a5e38 --- src/app/builtincommandlineoption.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/app/builtincommandlineoption.cpp') diff --git a/src/app/builtincommandlineoption.cpp b/src/app/builtincommandlineoption.cpp index da8cc8680..5bb4da76a 100644 --- a/src/app/builtincommandlineoption.cpp +++ b/src/app/builtincommandlineoption.cpp @@ -224,12 +224,17 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, QHash BuiltinCommandLineOption::splitArgs(const QStringList &args) const { QHash commands; + QString lastCmd; foreach(QString arg, args) { - if(arg.startsWith("-") || arg.startsWith("--")) - commands.insert(arg, QStringList()); - else if(!commands.isEmpty()) - commands[commands.keys().last()] << arg; + QString cmd = arg.trimmed(); + if(cmd.startsWith("-") || cmd.startsWith("--")) + { + commands.insert(cmd, QStringList()); + lastCmd = cmd; + } + else if(!commands.isEmpty() && !lastCmd.isEmpty()) + commands[lastCmd] << arg; } return commands; } -- cgit v1.2.3-13-gbd6f