diff options
-rw-r--r-- | src/function/read_directory.cc | 4 | ||||
-rw-r--r-- | src/support/filesystem_context.cc | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/function/read_directory.cc b/src/function/read_directory.cc index a3995ec..f4baff6 100644 --- a/src/function/read_directory.cc +++ b/src/function/read_directory.cc @@ -37,8 +37,8 @@ xercesc::DOMDocument* FunctionReadDirectory::constructDocument( switch ( boost::filesystem::status(p).type() ) { case boost::filesystem::regular_file: { - result.setAttribute("type", "file"); - result.setValueNode("name", p.stem().string()); + result.setAttribute("type", "file"); + result.setValueNode("name", p.stem().string()); result.setValueNode("extension", p.extension().string()); break; diff --git a/src/support/filesystem_context.cc b/src/support/filesystem_context.cc index a30bccc..eba7e45 100644 --- a/src/support/filesystem_context.cc +++ b/src/support/filesystem_context.cc @@ -20,7 +20,13 @@ FilesystemContext::FilesystemContext(const std::string& path): boost::filesystem::path FilesystemContext::resolve( const std::string& path) const { - return absolute(this->path_ / path); + const boost::filesystem::path targetPath(path); + + if ( targetPath.is_absolute() ) { + return targetPath; + } else { + return absolute(this->path_ / targetPath); + } } boost::filesystem::path FilesystemContext::resolve( |