aboutsummaryrefslogtreecommitdiff
path: root/src/app/builtincommandlineoption.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-10-12 17:21:53 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-10-12 17:21:53 +0000
commit506ceaa02734363f68827c0df227dcb0774e8852 (patch)
treeb1e41486f0489df0419d0c95671ecceb518e9d5c /src/app/builtincommandlineoption.cpp
parentf53cb0c53b8f8d34c6d7d4fb33d79cb0a70f59bb (diff)
downloadqmmp-506ceaa02734363f68827c0df227dcb0774e8852.tar.gz
qmmp-506ceaa02734363f68827c0df227dcb0774e8852.tar.bz2
qmmp-506ceaa02734363f68827c0df227dcb0774e8852.zip
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
Diffstat (limited to 'src/app/builtincommandlineoption.cpp')
-rw-r--r--src/app/builtincommandlineoption.cpp13
1 files changed, 9 insertions, 4 deletions
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 <QString, QStringList> BuiltinCommandLineOption::splitArgs(const QStringList &args) const
{
QHash <QString, QStringList> 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;
}