diff options
Diffstat (limited to 'src/function/external_command.cc')
-rw-r--r-- | src/function/external_command.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/function/external_command.cc b/src/function/external_command.cc index 7d91a9a..3819a43 100644 --- a/src/function/external_command.cc +++ b/src/function/external_command.cc @@ -40,6 +40,7 @@ inline xercesc::DOMNode* importDocumentElement( namespace InputXSLT { DomDocumentCache::document_ptr FunctionExternalCommand::constructDocument( + const FilesystemContext& fsContext, std::string command, boost::optional<std::string> input ) const { @@ -51,6 +52,9 @@ DomDocumentCache::document_ptr FunctionExternalCommand::constructDocument( context.environment = boost::process::self::get_environment(); context.stdout_behavior = boost::process::capture_stream(); context.stdin_behavior = boost::process::capture_stream(); + context.work_directory = boost::filesystem::canonical( + fsContext.getBase().parent_path() + ).string(); boost::process::child commandProcess( boost::process::launch_shell(command, context) |