summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/inc/ZipPackageFolder.hxx1
-rw-r--r--package/source/zippackage/ZipPackageFolder.cxx18
-rw-r--r--package/source/zippackage/ZipPackageStream.cxx11
3 files changed, 6 insertions, 24 deletions
diff --git a/package/inc/ZipPackageFolder.hxx b/package/inc/ZipPackageFolder.hxx
index fb6a072751ea..e638cc6a1112 100644
--- a/package/inc/ZipPackageFolder.hxx
+++ b/package/inc/ZipPackageFolder.hxx
@@ -64,7 +64,6 @@ public:
ZipContentInfo& doGetByName( const OUString& aName );
- static void copyZipEntry( ZipEntry &rDest, const ZipEntry &rSource);
static css::uno::Sequence < sal_Int8 > static_getImplementationId();
void setPackageFormat_Impl( sal_Int32 nFormat ) { m_nFormat = nFormat; }
diff --git a/package/source/zippackage/ZipPackageFolder.cxx b/package/source/zippackage/ZipPackageFolder.cxx
index 8bf0a8885d82..e7f0cca9813c 100644
--- a/package/source/zippackage/ZipPackageFolder.cxx
+++ b/package/source/zippackage/ZipPackageFolder.cxx
@@ -159,21 +159,6 @@ void ZipPackageFolder::setChildStreamsTypeByExtension( const beans::StringPair&
}
}
-void ZipPackageFolder::copyZipEntry( ZipEntry &rDest, const ZipEntry &rSource)
-{
- rDest.nVersion = rSource.nVersion;
- rDest.nFlag = rSource.nFlag;
- rDest.nMethod = rSource.nMethod;
- rDest.nTime = rSource.nTime;
- rDest.nCrc = rSource.nCrc;
- rDest.nCompressedSize = rSource.nCompressedSize;
- rDest.nSize = rSource.nSize;
- rDest.nOffset = rSource.nOffset;
- rDest.sPath = rSource.sPath;
- rDest.nPathLen = rSource.nPathLen;
- rDest.nExtraLen = rSource.nExtraLen;
-}
-
css::uno::Sequence < sal_Int8 > ZipPackageFolder::static_getImplementationId()
{
return lcl_CachedImplId::get().getImplementationId();
@@ -320,8 +305,7 @@ void ZipPackageFolder::saveContents(
if ( maContents.empty() && !rPath.isEmpty() && m_nFormat != embed::StorageFormats::OFOPXML )
{
// it is an empty subfolder, use workaround to store it
- ZipEntry* pTempEntry = new ZipEntry();
- ZipPackageFolder::copyZipEntry ( *pTempEntry, aEntry );
+ ZipEntry* pTempEntry = new ZipEntry(aEntry);
pTempEntry->nPathLen = (sal_Int16)( OUStringToOString( rPath, RTL_TEXTENCODING_UTF8 ).getLength() );
pTempEntry->nExtraLen = -1;
pTempEntry->sPath = rPath;
diff --git a/package/source/zippackage/ZipPackageStream.cxx b/package/source/zippackage/ZipPackageStream.cxx
index d684493d4617..7f54260bba40 100644
--- a/package/source/zippackage/ZipPackageStream.cxx
+++ b/package/source/zippackage/ZipPackageStream.cxx
@@ -520,15 +520,14 @@ bool ZipPackageStream::saveChild(
uno::Sequence < beans::PropertyValue > aPropSet (PKG_SIZE_NOENCR_MNFST);
+ // In case the entry we are reading is also the entry we are writing, we will
+ // store the ZipEntry data in pTempEntry
+
// if pTempEntry is necessary, it will be released and passed to the ZipOutputStream
// and be deleted in the ZipOutputStream destructor
- std::unique_ptr < ZipEntry > pAutoTempEntry ( new ZipEntry );
+ std::unique_ptr < ZipEntry > pAutoTempEntry ( new ZipEntry(aEntry) );
ZipEntry* pTempEntry = pAutoTempEntry.get();
- // In case the entry we are reading is also the entry we are writing, we will
- // store the ZipEntry data in pTempEntry
-
- ZipPackageFolder::copyZipEntry ( *pTempEntry, aEntry );
pTempEntry->sPath = rPath;
pTempEntry->nPathLen = (sal_Int16)( OUStringToOString( pTempEntry->sPath, RTL_TEXTENCODING_UTF8 ).getLength() );
@@ -904,7 +903,7 @@ void ZipPackageStream::successfullyWritten( ZipEntry *pEntry )
}
// Then copy it back afterwards...
- ZipPackageFolder::copyZipEntry( aEntry, *pEntry );
+ aEntry = *pEntry;
// TODO/LATER: get rid of this hack ( the encrypted stream size property is changed during saving )
if ( m_bIsEncrypted )