diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-10-12 17:21:53 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-10-12 17:21:53 +0000 |
| commit | 506ceaa02734363f68827c0df227dcb0774e8852 (patch) | |
| tree | b1e41486f0489df0419d0c95671ecceb518e9d5c /src/app/builtincommandlineoption.cpp | |
| parent | f53cb0c53b8f8d34c6d7d4fb33d79cb0a70f59bb (diff) | |
| download | qmmp-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.cpp | 13 |
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; } |
