diff options
author | Joachim Lingner <jl@openoffice.org> | 2011-02-18 17:17:49 +0100 |
---|---|---|
committer | Joachim Lingner <jl@openoffice.org> | 2011-02-18 17:17:49 +0100 |
commit | bf2af8dbb892d5f6b66a786ce75459a0de4c9477 (patch) | |
tree | 5f39445d47ce8cca78a44b4315b59aab75214602 /desktop/source | |
parent | cd0d6a5a6775f197fdb7e78b54c8133074a7a236 (diff) |
jl64 #i109096# extensions do not work with long path names
Diffstat (limited to 'desktop/source')
-rwxr-xr-x[-rw-r--r--] | desktop/source/deployment/manager/dp_manager.cxx | 29 | ||||
-rwxr-xr-x[-rw-r--r--] | desktop/source/deployment/registry/dp_backenddb.cxx | 5 |
2 files changed, 23 insertions, 11 deletions
diff --git a/desktop/source/deployment/manager/dp_manager.cxx b/desktop/source/deployment/manager/dp_manager.cxx index 2e2c5e2a2f53..ad01a9dbb79e 100644..100755 --- a/desktop/source/deployment/manager/dp_manager.cxx +++ b/desktop/source/deployment/manager/dp_manager.cxx @@ -63,6 +63,7 @@ #include "com/sun/star/ucb/UnsupportedCommandException.hpp" #include "boost/bind.hpp" #include "tools/urlobj.hxx" +#include "unotools/tempfile.hxx" #include "osl/file.hxx" #include <vector> @@ -636,20 +637,28 @@ OUString PackageManagerImpl::insertToActivationLayer( ::ucbhelper::Content sourceContent(sourceContent_); Reference<XCommandEnvironment> xCmdEnv( sourceContent.getCommandEnvironment() ); - OUString destFolder, tempEntry; - if (::osl::File::createTempFile( - m_activePackages_expanded.getLength() == 0 - ? 0 : &m_activePackages_expanded, - 0, &tempEntry ) != ::osl::File::E_None) - throw RuntimeException( - OUSTR("::osl::File::createTempFile() failed!"), 0 ); + OUString destFolder; + OUString tempEntry; + // if (::osl::File::createTempFile( + // m_activePackages_expanded.getLength() == 0 + // ? 0 : &m_activePackages_expanded, + // 0, &tempEntry ) != ::osl::File::E_None) + // throw RuntimeException( + // OUSTR("::osl::File::createTempFile() failed!"), 0 ); + //::utl::TempFile::SetTempNameBaseDirectory(m_activePackages_expanded); + String baseDir(m_activePackages_expanded); + ::utl::TempFile aTemp(OUSTR("jl123"), NULL, &baseDir, sal_False); if (m_activePackages_expanded.getLength() == 0) { - destFolder = tempEntry; +// destFolder = tempEntry; + destFolder = aTemp.GetFileName(); } else { - tempEntry = tempEntry.copy( tempEntry.lastIndexOf( '/' ) + 1 ); +// tempEntry = tempEntry.copy( tempEntry.lastIndexOf( '/' ) + 1 ); // tweak user|share to macrofied url: - destFolder = makeURL( m_activePackages, tempEntry ); +// destFolder = makeURL( m_activePackages, tempEntry ); + tempEntry = aTemp.GetURL(); + tempEntry = tempEntry.copy(tempEntry.lastIndexOf('/') + 1); + destFolder = makeURL( m_activePackages, tempEntry); } destFolder += OUSTR("_"); diff --git a/desktop/source/deployment/registry/dp_backenddb.cxx b/desktop/source/deployment/registry/dp_backenddb.cxx index 9629855aaf11..44e11efdef0e 100644..100755 --- a/desktop/source/deployment/registry/dp_backenddb.cxx +++ b/desktop/source/deployment/registry/dp_backenddb.cxx @@ -91,7 +91,10 @@ css::uno::Reference<css::xml::dom::XDocument> BackendDb::getDocument() ::osl::File::RC err = ::osl::DirectoryItem::get(m_urlDb, item); if (err == ::osl::File::E_None) { - m_doc = xDocBuilder->parseURI(m_urlDb); + ::ucbhelper::Content descContent( + m_urlDb, css::uno::Reference<css::ucb::XCommandEnvironment>()); + Reference<css::io::XInputStream> xIn = descContent.openStream(); + m_doc = xDocBuilder->parse(xIn); } else if (err == ::osl::File::E_NOENT) { |