summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorMikhail Voytenko <mav@openoffice.org>2010-04-08 13:04:51 +0200
committerMikhail Voytenko <mav@openoffice.org>2010-04-08 13:04:51 +0200
commitb5fd1e6d56b4be0202ab5abcc8e46a84244b6421 (patch)
tree170119326f4413271c12ae4cb1610a03d7755b9a /package
parent7ade3d638b7562889777bffb2ae20687ed6e2715 (diff)
fwk138: #i104759# open the OpOfXML documents in repair mode always
Diffstat (limited to 'package')
-rw-r--r--package/source/zippackage/ZipPackage.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/package/source/zippackage/ZipPackage.cxx b/package/source/zippackage/ZipPackage.cxx
index b8005eabd..35ea946b2 100644
--- a/package/source/zippackage/ZipPackage.cxx
+++ b/package/source/zippackage/ZipPackage.cxx
@@ -508,7 +508,14 @@ void ZipPackage::getZipFileContents()
nIndex = nOldIndex = 0;
pCurrent = m_pRootFolder;
const ZipEntry & rEntry = *pEnum->nextElement();
- const OUString & rName = rEntry.sPath;
+ OUString rName = rEntry.sPath;
+
+ if ( m_bForceRecovery )
+ {
+ // the PKZIP Application note version 6.2 does not allows to use '\' as separator
+ // unfortunately it is used by some implementations, so we have to support it in recovery mode
+ rName.replace( '\\', '/' );
+ }
nStreamIndex = rName.lastIndexOf ( '/' );
if ( nStreamIndex != -1 )