diff --git a/src/CLI.cpp b/src/CLI.cpp index 224f2134f..3b01bbc9a 100644 --- a/src/CLI.cpp +++ b/src/CLI.cpp @@ -1525,11 +1525,20 @@ void CLI::findAttributes () options.push_back (e->second); // Walk the arguments and tag as OP. + bool changes = false; std::vector ::iterator a; for (a = _args.begin (); a != _args.end (); ++a) if (a->hasTag ("FILTER")) if (std::find (options.begin (), options.end (), a->attribute ("raw")) != options.end ()) - a->tag ("ATTRIBUTE"); + if (! a->hasTag ("ATTRIBUTE")) + { + a->tag ("ATTRIBUTE"); + changes = true; + } + + if (changes && + context.config.getInteger ("debug.parser") >= 3) + context.debug (context.cli.dump ("CLI::analyze findAttributes")); } ////////////////////////////////////////////////////////////////////////////////