package/source/xstor/owriteablestream.cxx |   41 +++++++++++-------------------
 1 file changed, 16 insertions(+), 25 deletions(-)

New commits:
commit 0d1490dbbdd6a4cbe2486f993517383cc8112003
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Wed Aug 21 17:00:35 2019 +0200
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Thu Aug 22 06:57:52 2019 +0200

    Deduplicate some code
    
    Change-Id: I2cdc9f1416a9089e91f30cebe071a4855edc4536
    Reviewed-on: https://gerrit.libreoffice.org/77892
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/package/source/xstor/owriteablestream.cxx 
b/package/source/xstor/owriteablestream.cxx
index 041363cb5142..1c9332e9e845 100644
--- a/package/source/xstor/owriteablestream.cxx
+++ b/package/source/xstor/owriteablestream.cxx
@@ -930,43 +930,34 @@ uno::Sequence< beans::PropertyValue > 
OWriteStream_Impl::InsertOwnProps(
                                                                     bool 
bUseCommonEncryption )
 {
     uno::Sequence< beans::PropertyValue > aResult( aProps );
-    sal_Int32 nLen = aResult.getLength();
+    beans::PropertyValue aPropVal;
 
     if ( m_nStorageType == embed::StorageFormats::PACKAGE )
     {
-        for ( sal_Int32 nInd = 0; nInd < nLen; nInd++ )
-            if ( aResult[nInd].Name == "UseCommonStoragePasswordEncryption" )
-            {
-                aResult[nInd].Value <<= bUseCommonEncryption;
-                return aResult;
-            }
-
-        aResult.realloc( ++nLen );
-        aResult[nLen - 1].Name = "UseCommonStoragePasswordEncryption";
-        aResult[nLen - 1].Value <<= bUseCommonEncryption;
+        aPropVal.Name = "UseCommonStoragePasswordEncryption";
+        aPropVal.Value <<= bUseCommonEncryption;
     }
     else if ( m_nStorageType == embed::StorageFormats::OFOPXML )
     {
         ReadRelInfoIfNecessary();
 
-        uno::Any aValue;
+        aPropVal.Name = "RelationsInfo";
         if ( m_nRelInfoStatus == RELINFO_READ )
-            aValue <<= m_aOrigRelInfo;
+            aPropVal.Value <<= m_aOrigRelInfo;
         else if ( m_nRelInfoStatus == RELINFO_CHANGED_STREAM_READ || 
m_nRelInfoStatus == RELINFO_CHANGED )
-            aValue <<= m_aNewRelInfo;
+            aPropVal.Value <<= m_aNewRelInfo;
         else // m_nRelInfoStatus == RELINFO_CHANGED_BROKEN || m_nRelInfoStatus 
== RELINFO_BROKEN
             throw io::IOException( "Wrong relinfo stream!" );
-
-        for ( sal_Int32 nInd = 0; nInd < nLen; nInd++ )
-            if ( aResult[nInd].Name == "RelationsInfo" )
-            {
-                aResult[nInd].Value = aValue;
-                return aResult;
-            }
-
-        aResult.realloc( ++nLen );
-        aResult[nLen - 1].Name = "RelationsInfo";
-        aResult[nLen - 1].Value = aValue;
+    }
+    if (!aPropVal.Name.isEmpty())
+    {
+        sal_Int32 i = 0;
+        for (auto p = aResult.getConstArray(); i < aResult.getLength(); ++i)
+            if (p[i].Name == aPropVal.Name)
+                break;
+        if (i == aResult.getLength())
+            aResult.realloc(i + 1);
+        aResult[i] = aPropVal;
     }
 
     return aResult;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to