From 30d9ade19277d66b363914451b8f75f75cee5be4 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Thu, 18 Feb 2016 19:39:43 -0300 Subject: [PATCH] Fix macro expansion: Now support } and/or }% to close a variable --- src/macro_expansion.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/macro_expansion.cc b/src/macro_expansion.cc index dd79b2ee..8daf663d 100644 --- a/src/macro_expansion.cc +++ b/src/macro_expansion.cc @@ -62,7 +62,11 @@ std::string MacroExpansion::expand(const std::string& input, variableValue = transaction->m_collections.resolveFirst(col, var); } - res.erase(start, end - start + 2); + if (res[end - start + 2] == '%') { + res.erase(start, end - start + 1); + } else { + res.erase(start, end - start + 2); + } if (variableValue != NULL) { res.insert(start, *variableValue); }