From e0fac11eedbcdbc08199aa3fecd533aca87ff93b Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Fri, 24 Oct 2014 22:01:53 -0400 Subject: [PATCH] CLI - Argument decomposition now skips terminated args. --- src/CLI.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/CLI.cpp b/src/CLI.cpp index 8f280c3d1..94ed3cce9 100644 --- a/src/CLI.cpp +++ b/src/CLI.cpp @@ -1330,6 +1330,9 @@ void CLI::decomposeModAttributes () std::vector ::iterator a; for (a = _args.begin (); a != _args.end (); ++a) { + if (a->hasTag ("TERMINATOR")) + break; + if (a->hasTag ("MODIFICATION")) { // Look for a valid attribute name. @@ -1385,6 +1388,9 @@ void CLI::decomposeModAttributeModifiers () std::vector ::iterator a; for (a = _args.begin (); a != _args.end (); ++a) { + if (a->hasTag ("TERMINATOR")) + break; + if (a->hasTag ("MODIFICATION")) { // Look for a valid attribute name. @@ -1460,6 +1466,9 @@ void CLI::decomposeModTags () std::vector ::iterator a; for (a = _args.begin (); a != _args.end (); ++a) { + if (a->hasTag ("TERMINATOR")) + break; + if (a->hasTag ("MODIFICATION")) { Nibbler n (a->attribute ("raw")); @@ -1485,6 +1494,9 @@ void CLI::decomposeModSubstitutions () std::vector ::iterator a; for (a = _args.begin (); a != _args.end (); ++a) { + if (a->hasTag ("TERMINATOR")) + break; + if (a->hasTag ("MODIFICATION")) { std::string raw = a->attribute ("raw");