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
commit426a2f22678f89706b4db474243ab27b4a4d6c06 (patch)
tree8eee22c3c67da22a8c3f63ef4bcbd7a77fb5c60b /package
parentf59e563680dddc7388284e8ebe1408a95e7f453b (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 a92ed254200a..36b4f8885f48 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 )