- Allowed aliases to nest up to 10 levels.
This commit is contained in:
Paul Beckingham
2011-07-10 17:58:07 -04:00
parent 2d30275889
commit d5849b0160

View File

@@ -566,8 +566,12 @@ void Arguments::apply_overrides ()
void Arguments::resolve_aliases () void Arguments::resolve_aliases ()
{ {
std::vector <std::string> expanded; std::vector <std::string> expanded;
bool something = false; bool something;
int safety_valve = 10;
do
{
something = false;
std::vector <Triple>::iterator arg; std::vector <Triple>::iterator arg;
for (arg = this->begin (); arg != this->end (); ++arg) for (arg = this->begin (); arg != this->end (); ++arg)
{ {
@@ -603,9 +607,12 @@ void Arguments::resolve_aliases ()
for (e = expanded.begin (); e != expanded.end (); ++e) for (e = expanded.begin (); e != expanded.end (); ++e)
this->push_back (Triple (*e, "", "")); this->push_back (Triple (*e, "", ""));
expanded.clear ();
categorize (); categorize ();
} }
} }
while (something && --safety_valve > 0);
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
void Arguments::inject_defaults () void Arguments::inject_defaults ()