diff --git a/src/A3t.cpp b/src/A3t.cpp index c9c272979..d9b2985e7 100644 --- a/src/A3t.cpp +++ b/src/A3t.cpp @@ -386,6 +386,24 @@ void A3t::get_data_location (Path& data) } } +//////////////////////////////////////////////////////////////////////////////// +// Takes all CONFIG name/value pairs and overrides configuration. +// leaving only the plain args. +void A3t::apply_overrides () +{ + std::vector ::iterator i; + for (i = _tree->_branches.begin (); i != _tree->_branches.end (); ++i) + { + if ((*i)->hasTag ("CONFIG")) + { + std::string name = (*i)->attribute ("name"); + std::string value = (*i)->attribute ("value"); + context.config.set (name, value); + context.footnote (format (STRING_A3_OVERRIDE_RC, name, value)); + } + } +} + //////////////////////////////////////////////////////////////////////////////// // /pattern/ void A3t::findPattern () diff --git a/src/A3t.h b/src/A3t.h index 368f4561c..eea1464f5 100644 --- a/src/A3t.h +++ b/src/A3t.h @@ -47,6 +47,7 @@ public: void findConfigOverride (); void get_overrides (std::string&, File&); void get_data_location (Path&); + void apply_overrides (); private: void findBinary ();