aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/function/read_directory.cc4
-rw-r--r--src/support/filesystem_context.cc8
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(