X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FConsole%2FNode.cci;h=1c130cbdf29692610ebfb03a078398d4066ec4ec;hb=8da6e83b001f0ae8383af7eb4b3e3a079178a777;hp=dabaec9b1af93a88515b9251179f12fffb5129e0;hpb=958bdb52c39fa39f4ef91cafd9628bcb4f85a03c;p=senf.git diff --git a/Utils/Console/Node.cci b/Utils/Console/Node.cci index dabaec9..1c130cb 100644 --- a/Utils/Console/Node.cci +++ b/Utils/Console/Node.cci @@ -114,6 +114,21 @@ prefix_ bool senf::console::GenericNode::isCommand() return dynamic_cast(this); } +prefix_ senf::console::GenericNode const & senf::console::GenericNode::followLink() + const +{ + return isLink() + ? dynamic_cast(this)->follow() + : *this; +} + +prefix_ senf::console::GenericNode & senf::console::GenericNode::followLink() +{ + return isLink() + ? dynamic_cast(this)->follow() + : *this; +} + /////////////////////////////////////////////////////////////////////////// // senf::console::LinkNode @@ -154,10 +169,7 @@ prefix_ senf::console::GenericNode & senf::console::DirectoryNode::get(std::string const & name) const { - GenericNode & node (getLink(name)); - return node.isLink() - ? dynamic_cast(node).follow() - : node; + return getLink(name).followLink(); } prefix_ senf::console::DirectoryNode &