From 22cbef9c75aeb58d6c88c9b736526cb9d52a52a2 Mon Sep 17 00:00:00 2001 From: Adrian Kummerländer Date: Mon, 28 Apr 2014 20:03:06 +0200 Subject: Adapted read-directory tree construction to match the other functions * throwing std::out_of_range exception from DomDocumentCache::get instead of returning nullptr in case of a problem * moved xalanToString method back into FilesystemContext compilation unit as is only needed there --- src/function/read_directory.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/function') diff --git a/src/function/read_directory.cc b/src/function/read_directory.cc index 6fcb447..b0ae13f 100644 --- a/src/function/read_directory.cc +++ b/src/function/read_directory.cc @@ -5,7 +5,6 @@ #include #include -#include "support/utility.h" #include "support/xerces_string_guard.h" namespace InputXSLT { @@ -20,8 +19,12 @@ xalan::XObjectPtr FunctionReadDirectory::execute( const xalan::XObjectPtr argument, const xalan::Locator* ) const { + const boost::filesystem::path directoryPath( + this->fs_context_.resolve(argument->str()) + ); + DomDocumentCache::item* const cachedDocument( - this->document_cache_->get(xalanToString(argument->str())) + this->document_cache_->get(directoryPath.string()) ); if ( !cachedDocument->isFinalized() ) { @@ -33,9 +36,7 @@ xalan::XObjectPtr FunctionReadDirectory::execute( domDocument->getDocumentElement() ); - if (boost::filesystem::is_directory( - this->fs_context_.resolve(argument->str()) - )) { + if ( boost::filesystem::is_directory(directoryPath) ) { xercesc::DOMElement* const contentNode( domDocument->createElement(*XercesStringGuard("content")) ); -- cgit v1.2.3