From 5c6486427bd892e6d2271cce9f73eba4c0d55dea Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Mon, 14 Apr 2014 00:24:54 -0400 Subject: [PATCH] A3t - Implemented A3t::apply_overrides. --- src/A3t.cpp | 18 ++++++++++++++++++ src/A3t.h | 1 + 2 files changed, 19 insertions(+) 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 ();