From b8205a49dfb140e07cf69b78588805b6dc3de831 Mon Sep 17 00:00:00 2001 From: Houtan Bastani <houtan@dynare.org> Date: Mon, 24 Jun 2019 14:39:35 +0200 Subject: [PATCH] Revert "macro processor: allow @#includepath to accept a colon-separated list of paths" This reverts commit 12b09073e316c6dcda8c6045640546fcf7cdb11c. --- src/macro/Directives.cc | 9 +-------- src/macro/Directives.hh | 4 ++-- src/macro/Driver.cc | 5 +---- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/macro/Directives.cc b/src/macro/Directives.cc index fd320e5c..daa781e8 100644 --- a/src/macro/Directives.cc +++ b/src/macro/Directives.cc @@ -68,14 +68,7 @@ IncludePath::interpret(ostream &output, bool no_line_macro) StringPtr msp = dynamic_pointer_cast<String>(expr->eval()); if (!msp) throw StackTrace("File name does not evaluate to a string"); - size_t last = 0; - size_t next = 0; - while ((next = static_cast<string>(*msp).find(":", last)) != string::npos) - { - path.push_back(static_cast<string>(*msp).substr(last, next-last)); - last = next + 1; - } - path.push_back(static_cast<string>(*msp).substr(last)); + path = *msp; } catch (StackTrace &ex) { diff --git a/src/macro/Directives.hh b/src/macro/Directives.hh index 38048a7a..314f3362 100644 --- a/src/macro/Directives.hh +++ b/src/macro/Directives.hh @@ -83,12 +83,12 @@ namespace macro { private: const ExpressionPtr expr; - vector<string> path; + string path; public: IncludePath(const ExpressionPtr expr_arg, Environment &env_arg, const Tokenizer::location location_arg) : Directive(env_arg, move(location_arg)), expr{move(expr_arg)} { } void interpret(ostream &output, bool no_line_macro) override; - inline vector<string> getPath() const { return path; } + inline string getPath() const { return path; } }; diff --git a/src/macro/Driver.cc b/src/macro/Driver.cc index f700b473..d24469db 100644 --- a/src/macro/Driver.cc +++ b/src/macro/Driver.cc @@ -85,10 +85,7 @@ Driver::parse(const string &file_arg, const string &basename_arg, istream &modfi auto ipp = dynamic_pointer_cast<IncludePath>(statement); if (ipp) - { - auto p = ipp->getPath(); - paths.insert(paths.end(), p.begin(), p.end()); - } + paths.emplace_back(ipp->getPath()); auto ip = dynamic_pointer_cast<Include>(statement); if (ip) -- GitLab