summaryrefslogtreecommitdiff
path: root/desktop/source
diff options
context:
space:
mode:
authorJoachim Lingner <jl@openoffice.org>2011-02-18 17:17:49 +0100
committerJoachim Lingner <jl@openoffice.org>2011-02-18 17:17:49 +0100
commitbf2af8dbb892d5f6b66a786ce75459a0de4c9477 (patch)
tree5f39445d47ce8cca78a44b4315b59aab75214602 /desktop/source
parentcd0d6a5a6775f197fdb7e78b54c8133074a7a236 (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.cxx29
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/registry/dp_backenddb.cxx5
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)
{