Support absolute paths
Change-Id: Ibe087d2bad0c6c9f1619d8811103415bcb3b4906
diff --git a/src/parser.cpp b/src/parser.cpp
index a3550a6..c56b561 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -41,11 +41,15 @@
void Parser::changeNode(const path_& name)
{
- for (const auto& it : name.m_nodes) {
- if (it.m_suffix.type() == typeid(nodeup_))
- m_curDir.m_nodes.pop_back();
- else
- m_curDir.m_nodes.push_back(it);
+ if (name.m_scope == Scope::Absolute) {
+ m_curDir = name;
+ } else {
+ for (const auto& it : name.m_nodes) {
+ if (it.m_suffix.type() == typeid(nodeup_))
+ m_curDir.m_nodes.pop_back();
+ else
+ m_curDir.m_nodes.push_back(it);
+ }
}
}