X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Utils%2FConsole%2FExecutor.cc;h=04cb75101467d356125d70b3b19c86902bafcd82;hb=6745b9a3712f3221fe4b076ed7abb1ab92d6ac2b;hp=d6218d8c7972446987b1bd5e450fe29f91be2444;hpb=958bdb52c39fa39f4ef91cafd9628bcb4f85a03c;p=senf.git diff --git a/Utils/Console/Executor.cc b/Utils/Console/Executor.cc index d6218d8..04cb751 100644 --- a/Utils/Console/Executor.cc +++ b/Utils/Console/Executor.cc @@ -194,8 +194,10 @@ prefix_ void senf::console::Executor::ls(std::ostream & output, DirectoryNode::child_iterator const i_end (node.children().end()); for (; i != i_end; ++i) { output << i->first; - if (boost::dynamic_pointer_cast(i->second)) + if (i->second->isDirectory()) output << "/"; + else if (i->second->isLink()) + output << "@"; output << "\n"; } } @@ -257,7 +259,7 @@ senf::console::Executor::traverseNode(ParseCommandInfo::TokensRange const & path return *dir.back().lock(); } DirectoryNode & base (*dir.back().lock()); - if (tok == WordToken(".")) + if (tok == WordToken(".") || tok == NoneToken()) return base; std::string const & name (complete(base, tok.value())); if (policy_)