[Libreoffice-commits] core.git: 20 commits - sw/source

Matteo Casalin matteo.casalin at yahoo.com
Sat Feb 21 08:47:43 PST 2015


 sw/source/core/doc/doccorr.cxx  |    4 -
 sw/source/core/doc/docdesc.cxx  |   12 +--
 sw/source/core/doc/docedt.cxx   |   12 +--
 sw/source/core/doc/docfld.cxx   |  107 ++++++++++++++----------------
 sw/source/core/doc/docfly.cxx   |    5 -
 sw/source/core/doc/docfmt.cxx   |   30 +++-----
 sw/source/core/doc/docglbl.cxx  |    4 -
 sw/source/core/doc/doclay.cxx   |   61 +++++++----------
 sw/source/core/doc/docnew.cxx   |   18 +----
 sw/source/core/doc/docnum.cxx   |  141 ++++++++++++++++++----------------------
 sw/source/core/doc/docredln.cxx |   46 ++++++-------
 sw/source/core/doc/fmtcol.cxx   |   32 +++------
 12 files changed, 212 insertions(+), 260 deletions(-)

New commits:
commit 949b9dc8ed2f5cdfd6f99531fc4ac2b8c201b145
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 21 16:33:06 2015 +0100

    Use more proper types and range-for loops
    
    Change-Id: I90b71a5abbca19d9b5eaf2ded2f33b01fb775d3a

diff --git a/sw/source/core/doc/fmtcol.cxx b/sw/source/core/doc/fmtcol.cxx
index 5124ec4..4d9d28e 100644
--- a/sw/source/core/doc/fmtcol.cxx
+++ b/sw/source/core/doc/fmtcol.cxx
@@ -565,19 +565,16 @@ SwConditionTxtFmtColl::~SwConditionTxtFmtColl()
 const SwCollCondition* SwConditionTxtFmtColl::HasCondition(
                         const SwCollCondition& rCond ) const
 {
-    const SwCollCondition* pFnd = 0;
-    sal_uInt16 n;
+    for( const auto &rFnd : aCondColls )
+        if( rFnd == rCond )
+            return &rFnd;
 
-    for( n = 0; n < aCondColls.size(); ++n )
-        if( *( pFnd = &aCondColls[ n ]) == rCond )
-            break;
-
-    return n < aCondColls.size() ? pFnd : 0;
+    return nullptr;
 }
 
 void SwConditionTxtFmtColl::InsertCondition( const SwCollCondition& rCond )
 {
-    for( sal_uInt16 n = 0; n < aCondColls.size(); ++n )
+    for( SwFmtCollConditions::size_type n = 0; n < aCondColls.size(); ++n )
         if( aCondColls[ n ] == rCond )
         {
             aCondColls.erase( aCondColls.begin() + n );
@@ -592,7 +589,7 @@ void SwConditionTxtFmtColl::InsertCondition( const SwCollCondition& rCond )
 bool SwConditionTxtFmtColl::RemoveCondition( const SwCollCondition& rCond )
 {
     bool bRet = false;
-    for( sal_uInt16 n = 0; n < aCondColls.size(); ++n )
+    for( SwFmtCollConditions::size_type n = 0; n < aCondColls.size(); ++n )
         if( aCondColls[ n ] == rCond )
         {
             aCondColls.erase( aCondColls.begin() + n );
@@ -607,19 +604,18 @@ void SwConditionTxtFmtColl::SetConditions( const SwFmtCollConditions& rCndClls )
     // Copy the Conditions, but first delete the old ones
     aCondColls.clear();
     SwDoc& rDoc = *GetDoc();
-    for( sal_uInt16 n = 0; n < rCndClls.size(); ++n )
+    for( const auto &rFnd : rCndClls )
     {
-        const SwCollCondition* pFnd = &rCndClls[ n ];
-        SwTxtFmtColl* pTmpColl = pFnd->GetTxtFmtColl()
-                                    ? rDoc.CopyTxtColl( *pFnd->GetTxtFmtColl() )
+        SwTxtFmtColl* pTmpColl = rFnd.GetTxtFmtColl()
+                                    ? rDoc.CopyTxtColl( *rFnd.GetTxtFmtColl() )
                                     : 0;
         SwCollCondition* pNew;
-        if( USRFLD_EXPRESSION & pFnd->GetCondition() )
-            pNew = new SwCollCondition( pTmpColl, pFnd->GetCondition(),
-                                        *pFnd->GetFldExpression() );
+        if( USRFLD_EXPRESSION & rFnd.GetCondition() )
+            pNew = new SwCollCondition( pTmpColl, rFnd.GetCondition(),
+                                        *rFnd.GetFldExpression() );
         else
-            pNew = new SwCollCondition( pTmpColl, pFnd->GetCondition(),
-                                        pFnd->GetSubCondition() );
+            pNew = new SwCollCondition( pTmpColl, rFnd.GetCondition(),
+                                        rFnd.GetSubCondition() );
         aCondColls.push_back( pNew );
     }
 }
commit bf586debd4d8274cff2737f02beac465525328e8
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 21 12:38:54 2015 +0100

    Simplify
    
    Change-Id: Iabfbe854f97b92127f1118b0982be39c4d0a2b8b

diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index 6a987a0..8214379 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -566,9 +566,9 @@ static SwTxtNode* lcl_FindOutlineName( const SwOutlineNodes& rOutlNds, const OUS
                             bool bExact )
 {
     SwTxtNode* pSavedNode = nullptr;
-    for( SwOutlineNodes::size_type n = 0; n < rOutlNds.size(); ++n )
+    for( auto pOutlNd : rOutlNds )
     {
-        SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
+        SwTxtNode* pTxtNd = pOutlNd->GetTxtNode();
         const OUString sTxt( pTxtNd->GetExpandTxt() );
         if (sTxt.startsWith(rName))
         {
@@ -601,22 +601,25 @@ static SwTxtNode* lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
 
     sal_uInt16 nLevelVal[ MAXLEVEL ];       // numbers of all levels
     memset( nLevelVal, 0, MAXLEVEL * sizeof( nLevelVal[0] ));
-    sal_uInt8 nLevel = 0;
+    int nLevel = 0;
     OUString sName( rName );
 
     while( -1 != nPos )
     {
         sal_uInt16 nVal = 0;
-        sal_Unicode c;
         for( sal_Int32 n = 0; n < sNum.getLength(); ++n )
-            if( '0' <= ( c = sNum[ n ]) && c <= '9' )
+        {
+            const sal_Unicode c {sNum[ n ]};
+            if( '0' <= c && c <= '9' )
             {
-                nVal *= 10;  nVal += c - '0';
+                nVal *= 10;
+                nVal += c - '0';
             }
             else if( nLevel )
                 break;                      // "almost" valid number
             else
                 return nullptr;             // invalid number!
+        }
 
         if( MAXLEVEL > nLevel )
             nLevelVal[ nLevel++ ] = nVal;
@@ -626,7 +629,7 @@ static SwTxtNode* lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
         sNum = sName.getToken( 0, '.', nPos );
         // #i4533# without this check all parts delimited by a dot are treated as outline numbers
         if(!comphelper::string::isdigitAsciiString(sNum))
-            nPos = -1;
+            break;
     }
     rName = sName;      // that's the follow-up text
 
@@ -637,32 +640,26 @@ static SwTxtNode* lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
     if( rOutlNds.empty() )
         return nullptr;
 
-    SwTxtNode* pNd;
-    nPos = 0;
     // search in the existing outline nodes for the required outline num array
-    for( ; nPos < (sal_Int32) rOutlNds.size(); ++nPos )
+    for( auto pOutlNd : rOutlNds )
     {
-        pNd = rOutlNds[ nPos ]->GetTxtNode();
-        const int nLvl = pNd->GetAttrOutlineLevel()-1;
-        if( nLvl == nLevel - 1)
+        SwTxtNode* pNd = pOutlNd->GetTxtNode();
+        if ( pNd->GetAttrOutlineLevel() == nLevel )
         {
             // #i51089#, #i68289#
             // Assure, that text node has the correct numbering level. Otherwise,
             // its number vector will not fit to the searched level.
-            if ( pNd->GetNum() &&
-                 pNd->GetActualListLevel() == ( nLevel - 1 ) )
+            if ( pNd->GetNum() && pNd->GetActualListLevel() == nLevel - 1 )
             {
                 const SwNodeNum & rNdNum = *(pNd->GetNum());
                 SwNumberTree::tNumberVector aLevelVal = rNdNum.GetNumberVector();
                 // now compare with the one searched for
-                bool bEqual = true;
-                for( sal_uInt8 n = 0; (n < nLevel) && bEqual; ++n )
-                {
-                    bEqual = aLevelVal[n] == nLevelVal[n];
-                }
-                if(bEqual)
+                for( int n = 0; n < nLevel; ++n )
                 {
-                    break;
+                    if ( aLevelVal[n] == nLevelVal[n] )
+                    {
+                        return pNd;
+                    }
                 }
             }
             else
@@ -676,10 +673,8 @@ static SwTxtNode* lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
             }
         }
     }
-    if( nPos >= (sal_Int32) rOutlNds.size() )
-        return nullptr;
 
-    return rOutlNds[ nPos ]->GetTxtNode();
+    return nullptr;
 }
 
 // Add this bullet point:
commit 007edeb70409e3ca3c5cdb1b3514e592a9fa5ba0
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 21 10:12:42 2015 +0100

    Directly return the needed SwTxtNode* instead of its index
    
    Change-Id: Ia5df160a21ff4c6f5f526945c6b90a974a88c011

diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index a89ebce..6a987a0 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -562,10 +562,10 @@ bool SwDoc::MoveOutlinePara( const SwPaM& rPam, short nOffset )
     return MoveParagraph( aPam, nOffs, true );
 }
 
-static sal_uInt16 lcl_FindOutlineName( const SwOutlineNodes& rOutlNds, const OUString& rName,
+static SwTxtNode* lcl_FindOutlineName( const SwOutlineNodes& rOutlNds, const OUString& rName,
                             bool bExact )
 {
-    sal_uInt16 nSavePos = USHRT_MAX;
+    SwTxtNode* pSavedNode = nullptr;
     for( SwOutlineNodes::size_type n = 0; n < rOutlNds.size(); ++n )
     {
         SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
@@ -575,21 +575,20 @@ static sal_uInt16 lcl_FindOutlineName( const SwOutlineNodes& rOutlNds, const OUS
             if (sTxt.getLength() == rName.getLength())
             {
                 // Found "exact", set Pos to the Node
-                nSavePos = n;
-                break;
+                return pTxtNd;
             }
-            else if( !bExact && USHRT_MAX == nSavePos )
+            if( !bExact && !pSavedNode )
             {
                 // maybe we just found the text's first part
-                nSavePos = n;
+                pSavedNode = pTxtNd;
             }
         }
     }
 
-    return nSavePos;
+    return pSavedNode;
 }
 
-static sal_uInt16 lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString& rName )
+static SwTxtNode* lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString& rName )
 {
     // Valid numbers are (always just offsets!):
     //  ([Number]+\.)+  (as a regular expression!)
@@ -598,7 +597,7 @@ static sal_uInt16 lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
     sal_Int32 nPos = 0;
     OUString sNum = rName.getToken( 0, '.', nPos );
     if( -1 == nPos )
-        return USHRT_MAX;           // invalid number!
+        return nullptr;           // invalid number!
 
     sal_uInt16 nLevelVal[ MAXLEVEL ];       // numbers of all levels
     memset( nLevelVal, 0, MAXLEVEL * sizeof( nLevelVal[0] ));
@@ -617,7 +616,7 @@ static sal_uInt16 lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
             else if( nLevel )
                 break;                      // "almost" valid number
             else
-                return USHRT_MAX;           // invalid number!
+                return nullptr;             // invalid number!
 
         if( MAXLEVEL > nLevel )
             nLevelVal[ nLevel++ ] = nVal;
@@ -636,7 +635,7 @@ static sal_uInt16 lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
     // Without OutlineNodes searching doesn't pay off
     // and we save a crash
     if( rOutlNds.empty() )
-        return USHRT_MAX;
+        return nullptr;
 
     SwTxtNode* pNd;
     nPos = 0;
@@ -678,8 +677,9 @@ static sal_uInt16 lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString&
         }
     }
     if( nPos >= (sal_Int32) rOutlNds.size() )
-        nPos = USHRT_MAX;
-    return nPos;
+        return nullptr;
+
+    return rOutlNds[ nPos ]->GetTxtNode();
 }
 
 // Add this bullet point:
@@ -700,10 +700,9 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
 
         // 1. step: via the Number:
         OUString sName( rName );
-        sal_uInt16 nFndPos = ::lcl_FindOutlineNum( rOutlNds, sName );
-        if( USHRT_MAX != nFndPos )
+        SwTxtNode* pNd = ::lcl_FindOutlineNum( rOutlNds, sName );
+        if ( pNd )
         {
-            SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
             OUString sExpandedText = pNd->GetExpandTxt();
             //#i4533# leading numbers followed by a dot have been remove while
             //searching for the outline position
@@ -720,11 +719,10 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
 
             if( sExpandedText != sName )
             {
-                sal_uInt16 nTmp = ::lcl_FindOutlineName( rOutlNds, sName, true );
-                if( USHRT_MAX != nTmp )             // found via the Name
+                SwTxtNode *pTmpNd = ::lcl_FindOutlineName( rOutlNds, sName, true );
+                if ( pTmpNd )             // found via the Name
                 {
-                    nFndPos = nTmp;
-                    pNd = rOutlNds[ nFndPos ]->GetTxtNode();
+                    pNd = pTmpNd;
                 }
             }
             rPos.nNode = *pNd;
@@ -732,10 +730,9 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
             return true;
         }
 
-        nFndPos = ::lcl_FindOutlineName( rOutlNds, rName, false );
-        if( USHRT_MAX != nFndPos )
+        pNd = ::lcl_FindOutlineName( rOutlNds, rName, false );
+        if ( pNd )
         {
-            SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
             rPos.nNode = *pNd;
             rPos.nContent.Assign( pNd, 0 );
             return true;
@@ -744,10 +741,9 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
         // #i68289# additional search on hyperlink URL without its outline numbering part
         if ( sName != rName )
         {
-            nFndPos = ::lcl_FindOutlineName( rOutlNds, sName, false );
-            if( USHRT_MAX != nFndPos )
+            pNd = ::lcl_FindOutlineName( rOutlNds, sName, false );
+            if ( pNd )
             {
-                SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
                 rPos.nNode = *pNd;
                 rPos.nContent.Assign( pNd, 0 );
                 return true;
commit 8d219ce09375535ffbe3ae997549ee944b43117c
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 21 09:39:12 2015 +0100

    SwOutlineNodes are already available
    
    Change-Id: I384308ebffcdbc6df0ee752339dd49957f7d4bbb

diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index 77dfbc5..a89ebce 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -562,11 +562,10 @@ bool SwDoc::MoveOutlinePara( const SwPaM& rPam, short nOffset )
     return MoveParagraph( aPam, nOffs, true );
 }
 
-static sal_uInt16 lcl_FindOutlineName( const SwNodes& rNds, const OUString& rName,
+static sal_uInt16 lcl_FindOutlineName( const SwOutlineNodes& rOutlNds, const OUString& rName,
                             bool bExact )
 {
     sal_uInt16 nSavePos = USHRT_MAX;
-    const SwOutlineNodes& rOutlNds = rNds.GetOutLineNds();
     for( SwOutlineNodes::size_type n = 0; n < rOutlNds.size(); ++n )
     {
         SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
@@ -590,7 +589,7 @@ static sal_uInt16 lcl_FindOutlineName( const SwNodes& rNds, const OUString& rNam
     return nSavePos;
 }
 
-static sal_uInt16 lcl_FindOutlineNum( const SwNodes& rNds, OUString& rName )
+static sal_uInt16 lcl_FindOutlineNum( const SwOutlineNodes& rOutlNds, OUString& rName )
 {
     // Valid numbers are (always just offsets!):
     //  ([Number]+\.)+  (as a regular expression!)
@@ -633,11 +632,12 @@ static sal_uInt16 lcl_FindOutlineNum( const SwNodes& rNds, OUString& rName )
     rName = sName;      // that's the follow-up text
 
     // read all levels, so search the document for this outline
-    const SwOutlineNodes& rOutlNds = rNds.GetOutLineNds();
+
     // Without OutlineNodes searching doesn't pay off
     // and we save a crash
     if( rOutlNds.empty() )
         return USHRT_MAX;
+
     SwTxtNode* pNd;
     nPos = 0;
     // search in the existing outline nodes for the required outline num array
@@ -700,7 +700,7 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
 
         // 1. step: via the Number:
         OUString sName( rName );
-        sal_uInt16 nFndPos = ::lcl_FindOutlineNum( GetNodes(), sName );
+        sal_uInt16 nFndPos = ::lcl_FindOutlineNum( rOutlNds, sName );
         if( USHRT_MAX != nFndPos )
         {
             SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
@@ -720,7 +720,7 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
 
             if( sExpandedText != sName )
             {
-                sal_uInt16 nTmp = ::lcl_FindOutlineName( GetNodes(), sName, true );
+                sal_uInt16 nTmp = ::lcl_FindOutlineName( rOutlNds, sName, true );
                 if( USHRT_MAX != nTmp )             // found via the Name
                 {
                     nFndPos = nTmp;
@@ -732,7 +732,7 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
             return true;
         }
 
-        nFndPos = ::lcl_FindOutlineName( GetNodes(), rName, false );
+        nFndPos = ::lcl_FindOutlineName( rOutlNds, rName, false );
         if( USHRT_MAX != nFndPos )
         {
             SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
@@ -744,7 +744,7 @@ bool SwDoc::GotoOutline( SwPosition& rPos, const OUString& rName ) const
         // #i68289# additional search on hyperlink URL without its outline numbering part
         if ( sName != rName )
         {
-            nFndPos = ::lcl_FindOutlineName( GetNodes(), sName, false );
+            nFndPos = ::lcl_FindOutlineName( rOutlNds, sName, false );
             if( USHRT_MAX != nFndPos )
             {
                 SwTxtNode* pNd = rOutlNds[ nFndPos ]->GetTxtNode();
commit 43f04e78a33fbe25aaaef7a72f0f1bb5da007955
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 21 09:00:16 2015 +0100

    Do not compare OUStrings twice
    
    Change-Id: I94f7cecf5b39c1f03b9f10a13b5efa63bb06ced8

diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index ee294d2..77dfbc5 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -570,17 +570,20 @@ static sal_uInt16 lcl_FindOutlineName( const SwNodes& rNds, const OUString& rNam
     for( SwOutlineNodes::size_type n = 0; n < rOutlNds.size(); ++n )
     {
         SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
-        OUString sTxt( pTxtNd->GetExpandTxt() );
-        if (sTxt == rName)
+        const OUString sTxt( pTxtNd->GetExpandTxt() );
+        if (sTxt.startsWith(rName))
         {
-            // Found "exact", set Pos to the Node
-            nSavePos = n;
-            break;
-        }
-        else if( !bExact && USHRT_MAX == nSavePos && sTxt.startsWith(rName) )
-        {
-            // maybe we just found the text's first part
-            nSavePos = n;
+            if (sTxt.getLength() == rName.getLength())
+            {
+                // Found "exact", set Pos to the Node
+                nSavePos = n;
+                break;
+            }
+            else if( !bExact && USHRT_MAX == nSavePos )
+            {
+                // maybe we just found the text's first part
+                nSavePos = n;
+            }
         }
     }
 
commit 2b3aa996b385cab856b30b7be2f54cbcc59446eb
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 19 01:20:04 2015 +0100

    Use more proper integer types and range-for loops
    
    Change-Id: Ic530e11248955133804f8d400eaef80fe33c1779

diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index 1618e0b..ee294d2 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -151,10 +151,8 @@ void SwDoc::SetOutlineNumRule( const SwNumRule& rRule )
 
 void SwDoc::PropagateOutlineRule()
 {
-    for (sal_uInt16 n = 0; n < mpTxtFmtCollTbl->size(); n++)
+    for (auto pColl : *mpTxtFmtCollTbl)
     {
-        SwTxtFmtColl *pColl = (*mpTxtFmtCollTbl)[n];
-
         if(pColl->IsAssignedToListLevelOfOutlineStyle())
         {
             // Check only the list style, which is set at the paragraph style
@@ -199,22 +197,23 @@ bool SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
     // We now have the wanted range in the OutlineNodes array,
     // so check now if we're not invalidating sublevels
     // (stepping over the limits)
-    sal_uInt16 n;
 
     // Here we go:
     // 1. Create the style array:
     SwTxtFmtColl* aCollArr[ MAXLEVEL ];
     memset( aCollArr, 0, sizeof( SwTxtFmtColl* ) * MAXLEVEL );
 
-    for( n = 0; n < mpTxtFmtCollTbl->size(); ++n )
+    for( auto pTxtFmtColl : *mpTxtFmtCollTbl )
     {
-        if((*mpTxtFmtCollTbl)[ n ]->IsAssignedToListLevelOfOutlineStyle())
+        if (pTxtFmtColl->IsAssignedToListLevelOfOutlineStyle())
         {
-            const int nLevel = (*mpTxtFmtCollTbl)[ n ]->GetAssignedOutlineStyleLevel();
-            aCollArr[ nLevel ] = (*mpTxtFmtCollTbl)[ n ];
+            const int nLevel = pTxtFmtColl->GetAssignedOutlineStyleLevel();
+            aCollArr[ nLevel ] = pTxtFmtColl;
         }
     }
 
+    int n;
+
     /* Find the last occupied level (backward). */
     for (n = MAXLEVEL - 1; n > 0; n--)
     {
@@ -312,12 +311,12 @@ bool SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
         */
         if (aCollArr[n] != NULL)
         {
-            sal_uInt16 m = n;
+            int m = n;
             int nCount = nNum;
 
             while (nCount > 0 && m + nStep >= 0 && m + nStep < MAXLEVEL)
             {
-                m = static_cast<sal_uInt16>(m + nStep);
+                m += nStep;
 
                 if (aCollArr[m] != NULL)
                     nCount--;
@@ -336,9 +335,9 @@ bool SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
        outline levels occurring in the document there has to be a valid
        target outline level implied by aMoveArr. */
     bool bMoveApplicable = true;
-    for (n = nSttPos; n < nEndPos; n++)
+    for (auto i = nSttPos; i < nEndPos; ++i)
     {
-        SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
+        SwTxtNode* pTxtNd = rOutlNds[ i ]->GetTxtNode();
         SwTxtFmtColl* pColl = pTxtNd->GetTxtColl();
 
         if( pColl->IsAssignedToListLevelOfOutlineStyle() )
@@ -371,11 +370,9 @@ bool SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
     }
 
     // 2. Apply the new style to all Nodes
-
-    n = nSttPos;
-    while( n < nEndPos)
+    for (auto i = nSttPos; i < nEndPos; ++i)
     {
-        SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
+        SwTxtNode* pTxtNd = rOutlNds[ i ]->GetTxtNode();
         SwTxtFmtColl* pColl = pTxtNd->GetTxtColl();
 
         if( pColl->IsAssignedToListLevelOfOutlineStyle() )
@@ -401,8 +398,6 @@ bool SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
                 pTxtNd->SetAttrOutlineLevel( nLevel );
 
         }
-
-        n++;
         // Undo ???
     }
     if (GetIDocumentUndoRedo().DoesUndo())
@@ -572,7 +567,7 @@ static sal_uInt16 lcl_FindOutlineName( const SwNodes& rNds, const OUString& rNam
 {
     sal_uInt16 nSavePos = USHRT_MAX;
     const SwOutlineNodes& rOutlNds = rNds.GetOutLineNds();
-    for( sal_uInt16 n = 0; n < rOutlNds.size(); ++n )
+    for( SwOutlineNodes::size_type n = 0; n < rOutlNds.size(); ++n )
     {
         SwTxtNode* pTxtNd = rOutlNds[ n ]->GetTxtNode();
         OUString sTxt( pTxtNd->GetExpandTxt() );
@@ -612,7 +607,7 @@ static sal_uInt16 lcl_FindOutlineNum( const SwNodes& rNds, OUString& rName )
     {
         sal_uInt16 nVal = 0;
         sal_Unicode c;
-        for( sal_uInt16 n = 0; n < sNum.getLength(); ++n )
+        for( sal_Int32 n = 0; n < sNum.getLength(); ++n )
             if( '0' <= ( c = sNum[ n ]) && c <= '9' )
             {
                 nVal *= 10;  nVal += c - '0';
commit 93395b3feae258da71429b4b0b276c0f21b16e8f
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 07:26:19 2015 +0100

    Use more proper/automatic integer types and range-for loops
    
    Change-Id: I188dc79dbba234b844e7c047ccc186d99c214ac7

diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index c2f56aa3..9eba48e 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -465,7 +465,7 @@ SwDoc::~SwDoc()
     // Old - deletion without a Flag is expensive, because we send a Modify
     // aTOXTypes.DeleteAndDestroy( 0, aTOXTypes.Count() );
     {
-        for( sal_uInt16 n = mpTOXTypes->size(); n; )
+        for( auto n = mpTOXTypes->size(); n; )
         {
             (*mpTOXTypes)[ --n ]->SetInDocDTOR();
             delete (*mpTOXTypes)[ n ];
@@ -634,9 +634,8 @@ void SwDoc::ClearDoc()
     }
 
     // if there are still FlyFrames dangling around, delete them too
-    sal_uInt16 n;
-    while ( 0 != (n = GetSpzFrmFmts()->size()) )
-        getIDocumentLayoutAccess().DelLayoutFmt((*mpSpzFrmFmtTbl)[n-1]);
+    while ( !mpSpzFrmFmtTbl->empty() )
+        getIDocumentLayoutAccess().DelLayoutFmt((*mpSpzFrmFmtTbl)[mpSpzFrmFmtTbl->size()-1]);
     OSL_ENSURE( !GetDocumentDrawModelManager().GetDrawModel() || !GetDocumentDrawModelManager().GetDrawModel()->GetPage(0)->GetObjCount(),
                 "not all DrawObjects removed from the page" );
 
@@ -826,8 +825,7 @@ void SwDoc::ReplaceDefaults(const SwDoc& rSource)
 
     SfxItemSet aNewDefaults(GetAttrPool(), aRangeOfDefaults);
 
-    sal_uInt16 nRange = 0;
-    while (aRangeOfDefaults[nRange] != 0)
+    for (auto nRange = 0; aRangeOfDefaults[nRange] != 0; nRange += 2)
     {
         for (sal_uInt16 nWhich = aRangeOfDefaults[nRange];
              nWhich <= aRangeOfDefaults[nRange + 1]; ++nWhich)
@@ -837,7 +835,6 @@ void SwDoc::ReplaceDefaults(const SwDoc& rSource)
             if (rSourceAttr != mpAttrPool->GetDefaultItem(nWhich))
                 aNewDefaults.Put(rSourceAttr);
         }
-        nRange += 2;
     }
 
     if (aNewDefaults.Count())
@@ -1016,7 +1013,7 @@ SwNodeIndex SwDoc::AppendDoc(const SwDoc& rSource, sal_uInt16 const nStartPageNu
         }
 
         {
-            sal_uInt16 iDelNodes = 0;
+            sal_uLong iDelNodes = 0;
             SwNodeIndex aDelIdx( aFixupIdx );
 
             // we just need to set the new page description and reset numbering
@@ -1098,10 +1095,9 @@ else
         }
 
         // finally copy page bound frames
-        const SwFrmFmts *pSpzFrmFmts = rSource.GetSpzFrmFmts();
-        for ( sal_uInt16 i = 0; i < pSpzFrmFmts->size(); ++i )
+        for ( auto pCpyFmt : *rSource.GetSpzFrmFmts() )
         {
-            const SwFrmFmt& rCpyFmt = *(*pSpzFrmFmts)[i];
+            const SwFrmFmt& rCpyFmt = *pCpyFmt;
             SwFmtAnchor aAnchor( rCpyFmt.GetAnchor() );
             if (FLY_AT_PAGE != aAnchor.GetAnchorId())
                 continue;
commit 36a001be93fa6ab4321a7a98bcb60c02ec93746b
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 07:17:18 2015 +0100

    Reduce temporaries
    
    Change-Id: Ie819ed8835ec30b99186d34382d6cd3e63532865

diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index 8cc7730..2729862 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -134,7 +134,7 @@ SdrObject* SwDoc::CloneSdrObj( const SdrObject& rObj, bool bMoveWithinDoc,
         uno::Reference< awt::XControlModel >  xModel = static_cast<SdrUnoObj*>(pObj)->GetUnoControlModel();
         uno::Any aVal;
         uno::Reference< beans::XPropertySet >  xSet(xModel, uno::UNO_QUERY);
-        OUString sName("Name");
+        const OUString sName("Name");
         if( xSet.is() )
             aVal = xSet->getPropertyValue( sName );
         if( bInsInPage )
@@ -1327,7 +1327,7 @@ static OUString lcl_GetUniqueFlyName( const SwDoc* pDoc, sal_uInt16 nDefStrId )
         }
     }
 
-    return aName += OUString::number( ++nNum );
+    return aName + OUString::number( ++nNum );
 }
 
 OUString SwDoc::GetUniqueGrfName() const
@@ -1398,9 +1398,9 @@ void SwDoc::SetAllUniqueFlyNames()
     ResId nFrmId( STR_FRAME_DEFNAME, *pSwResMgr ),
           nGrfId( STR_GRAPHIC_DEFNAME, *pSwResMgr ),
           nOLEId( STR_OBJECT_DEFNAME, *pSwResMgr );
-    OUString sFlyNm( nFrmId );
-    OUString sGrfNm( nGrfId );
-    OUString sOLENm( nOLEId );
+    const OUString sFlyNm( nFrmId );
+    const OUString sGrfNm( nGrfId );
+    const OUString sOLENm( nOLEId );
 
     if( 255 < ( n = GetSpzFrmFmts()->size() ))
         n = 255;
@@ -1465,24 +1465,18 @@ void SwDoc::SetAllUniqueFlyNames()
         if( 0 != ( pIdx = ( pFlyFmt = aArr[ --n ])->GetCntnt().GetCntntIdx() )
             && pIdx->GetNode().GetNodes().IsDocNodes() )
         {
-            sal_Int32 nNum;
-            OUString sNm;
             switch( GetNodes()[ pIdx->GetIndex() + 1 ]->GetNodeType() )
             {
             case ND_GRFNODE:
-                sNm = sGrfNm;
-                nNum = ++nGrfNum;
+                pFlyFmt->SetName( sGrfNm + OUString::number( ++nGrfNum ));
                 break;
             case ND_OLENODE:
-                sNm = sOLENm;
-                nNum = ++nOLENum;
+                pFlyFmt->SetName( sOLENm + OUString::number( ++nOLENum ));
                 break;
             default:
-                sNm = sFlyNm;
-                nNum = ++nFlyNum;
+                pFlyFmt->SetName( sFlyNm + OUString::number( ++nFlyNum ));
                 break;
             }
-            pFlyFmt->SetName( sNm + OUString::number( nNum ));
         }
     }
     aArr.clear();
commit df32b977f5b222367e4015665aa1a2ede14e26a0
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 07:11:55 2015 +0100

    Use more proper/automatic integer types and range-for loops
    
    Change-Id: I3ef0f9cc7c116cf7437df7645d05cc494a452ba3

diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index f40feb9..8cc7730 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -512,12 +512,10 @@ SwPosFlyFrms SwDoc::GetAllFlyFmts( const SwPaM* pCmpRange, bool bDrawAlso,
                            bool bAsCharAlso ) const
 {
     SwPosFlyFrms aRetval;
-    SwFrmFmt *pFly;
 
     // collect all anchored somehow to paragraphs
-    for( sal_uInt16 n = 0; n < GetSpzFrmFmts()->size(); ++n )
+    for( auto pFly : *GetSpzFrmFmts() )
     {
-        pFly = (*GetSpzFrmFmts())[ n ];
         bool bDrawFmt = bDrawAlso && RES_DRAWFRMFMT == pFly->Which();
         bool bFlyFmt = RES_FLYFRMFMT == pFly->Which();
         if( bFlyFmt || bDrawFmt )
@@ -554,6 +552,7 @@ SwPosFlyFrms SwDoc::GetAllFlyFmts( const SwPaM* pCmpRange, bool bDrawAlso,
             for( size_t i = 0; i < rObjs.size(); ++i)
             {
                 SwAnchoredObject* pAnchoredObj = rObjs[i];
+                SwFrmFmt *pFly;
                 if ( pAnchoredObj->ISA(SwFlyFrm) )
                     pFly = &(pAnchoredObj->GetFrmFmt());
                 else if ( bDrawAlso )
@@ -655,7 +654,7 @@ lcl_InsertLabel(SwDoc & rDoc, SwTxtFmtColls *const pTxtFmtCollTbl,
     SwTxtFmtColl * pColl = NULL;
     if( pType )
     {
-        for( sal_uInt16 i = pTxtFmtCollTbl->size(); i; )
+        for( auto i = pTxtFmtCollTbl->size(); i; )
         {
             if( (*pTxtFmtCollTbl)[ --i ]->GetName()==pType->GetName() )
             {
@@ -1004,7 +1003,7 @@ lcl_InsertDrawLabel( SwDoc & rDoc, SwTxtFmtColls *const pTxtFmtCollTbl,
     SwTxtFmtColl *pColl = NULL;
     if( pType )
     {
-        for( sal_uInt16 i = pTxtFmtCollTbl->size(); i; )
+        for( auto i = pTxtFmtCollTbl->size(); i; )
         {
             if( (*pTxtFmtCollTbl)[ --i ]->GetName()==pType->GetName() )
             {
@@ -1298,8 +1297,6 @@ static OUString lcl_GetUniqueFlyName( const SwDoc* pDoc, sal_uInt16 nDefStrId )
 
     const SwFrmFmts& rFmts = *pDoc->GetSpzFrmFmts();
 
-    sal_uInt16 nNum;
-
     std::vector<sal_uInt8> aSetFlags(rFmts.size()/8 + 2);
 
     for( SwFrmFmts::size_type n = 0; n < rFmts.size(); ++n )
@@ -1309,14 +1306,14 @@ static OUString lcl_GetUniqueFlyName( const SwDoc* pDoc, sal_uInt16 nDefStrId )
             pFlyFmt->GetName().startsWith( aName ) )
         {
             // Only get and set the Flag
-            nNum = static_cast< sal_uInt16 >( pFlyFmt->GetName().copy( nNmLen ).toInt32() );
-            if( nNum-- && nNum < rFmts.size() )
+            const sal_Int32 nNum = pFlyFmt->GetName().copy( nNmLen ).toInt32()-1;
+            if( nNum >= 0 && static_cast<SwFrmFmts::size_type>(nNum) < rFmts.size() )
                 aSetFlags[ nNum / 8 ] |= (0x01 << ( nNum & 0x07 ));
         }
     }
 
     // All numbers are flagged accordingly, so determine the right one
-    nNum = rFmts.size();
+    SwFrmFmts::size_type nNum = rFmts.size();
     for( std::vector<sal_uInt8>::size_type n=0; n<aSetFlags.size(); ++n )
     {
         sal_uInt8 nTmp = aSetFlags[ n ];
@@ -1351,7 +1348,7 @@ OUString SwDoc::GetUniqueFrameName() const
 const SwFlyFrmFmt* SwDoc::FindFlyByName( const OUString& rName, sal_Int8 nNdTyp ) const
 {
     const SwFrmFmts& rFmts = *GetSpzFrmFmts();
-    for( sal_uInt16 n = rFmts.size(); n; )
+    for( auto n = rFmts.size(); n; )
     {
         const SwFrmFmt* pFlyFmt = rFmts[ --n ];
         const SwNodeIndex* pIdx = 0;
@@ -1468,7 +1465,7 @@ void SwDoc::SetAllUniqueFlyNames()
         if( 0 != ( pIdx = ( pFlyFmt = aArr[ --n ])->GetCntnt().GetCntntIdx() )
             && pIdx->GetNode().GetNodes().IsDocNodes() )
         {
-            sal_uInt16 nNum;
+            sal_Int32 nNum;
             OUString sNm;
             switch( GetNodes()[ pIdx->GetIndex() + 1 ]->GetNodeType() )
             {
@@ -1522,10 +1519,8 @@ bool SwDoc::IsInHeaderFooter( const SwNodeIndex& rIdx ) const
         // get up by using the Anchor
 #if OSL_DEBUG_LEVEL > 0
         std::list<const SwFrmFmt*> checkFmts;
-        sal_uInt16 n;
-        for( n = 0; n < GetSpzFrmFmts()->size(); ++n )
+        for( auto pFmt : *GetSpzFrmFmts() )
         {
-            const SwFrmFmt* pFmt = (*GetSpzFrmFmts())[ n ];
             const SwNodeIndex* pIdx = pFmt->GetCntnt().GetCntntIdx();
             if( pIdx && pFlyNd == &pIdx->GetNode() )
                 checkFmts.push_back( pFmt );
commit bfa9da7cdf02ba78aee2390599d840075122c702
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 01:05:31 2015 +0100

    Use a vector instead of manual memory allocation
    
    Change-Id: I506d48b944cc3d53347aad669119a78a47559c4d

diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index 10a7216..f40feb9 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -1298,13 +1298,11 @@ static OUString lcl_GetUniqueFlyName( const SwDoc* pDoc, sal_uInt16 nDefStrId )
 
     const SwFrmFmts& rFmts = *pDoc->GetSpzFrmFmts();
 
-    sal_uInt16 nNum, nTmp, nFlagSize = ( rFmts.size() / 8 ) +2;
-    sal_uInt8* pSetFlags = new sal_uInt8[ nFlagSize ];
-    sal_uInt16 n;
+    sal_uInt16 nNum;
 
-    memset( pSetFlags, 0, nFlagSize );
+    std::vector<sal_uInt8> aSetFlags(rFmts.size()/8 + 2);
 
-    for( n = 0; n < rFmts.size(); ++n )
+    for( SwFrmFmts::size_type n = 0; n < rFmts.size(); ++n )
     {
         const SwFrmFmt* pFlyFmt = rFmts[ n ];
         if( RES_FLYFRMFMT == pFlyFmt->Which() &&
@@ -1313,14 +1311,16 @@ static OUString lcl_GetUniqueFlyName( const SwDoc* pDoc, sal_uInt16 nDefStrId )
             // Only get and set the Flag
             nNum = static_cast< sal_uInt16 >( pFlyFmt->GetName().copy( nNmLen ).toInt32() );
             if( nNum-- && nNum < rFmts.size() )
-                pSetFlags[ nNum / 8 ] |= (0x01 << ( nNum & 0x07 ));
+                aSetFlags[ nNum / 8 ] |= (0x01 << ( nNum & 0x07 ));
         }
     }
 
     // All numbers are flagged accordingly, so determine the right one
     nNum = rFmts.size();
-    for( n = 0; n < nFlagSize; ++n )
-        if( 0xff != ( nTmp = pSetFlags[ n ] ))
+    for( std::vector<sal_uInt8>::size_type n=0; n<aSetFlags.size(); ++n )
+    {
+        sal_uInt8 nTmp = aSetFlags[ n ];
+        if( 0xff != nTmp )
         {
             // so determine the number
             nNum = n * 8;
@@ -1328,8 +1328,8 @@ static OUString lcl_GetUniqueFlyName( const SwDoc* pDoc, sal_uInt16 nDefStrId )
                 ++nNum, nTmp >>= 1;
             break;
         }
+    }
 
-    delete [] pSetFlags;
     return aName += OUString::number( ++nNum );
 }
 
commit 8097a5b0847ed62caaa08b4c7a15315ee9d6866d
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 00:58:29 2015 +0100

    Use more proper types
    
    Change-Id: I548370202d81abe0348a082da0d321260aa8cd37

diff --git a/sw/source/core/doc/docglbl.cxx b/sw/source/core/doc/docglbl.cxx
index 017a4f5..c76c12d 100644
--- a/sw/source/core/doc/docglbl.cxx
+++ b/sw/source/core/doc/docglbl.cxx
@@ -186,7 +186,7 @@ bool SwDoc::SplitDoc( sal_uInt16 eDocType, const OUString& rPath, bool bOutline,
         {
             // Look for the 1st level OutlineTemplate
             const SwTxtFmtColls& rFmtColls =*GetTxtFmtColls();
-            for( sal_uInt16 n = rFmtColls.size(); n; )
+            for( SwTxtFmtColls::size_type n = rFmtColls.size(); n; )
                 if ( rFmtColls[ --n ]->GetAttrOutlineLevel() == 1 )
                 {
                     pSplitColl = rFmtColls[ n ];
@@ -372,7 +372,7 @@ bool SwDoc::SplitDoc( sal_uInt16 eDocType, const OUString& rPath, bool bOutline,
                             CorrAbs( aSIdx, aEIdx, *aTmp.GetPoint(), true);
 
                             // If FlyFrames are still around, delete these too
-                            for( sal_uInt16 n = 0; n < GetSpzFrmFmts()->size(); ++n )
+                            for( SwFrmFmts::size_type n = 0; n < GetSpzFrmFmts()->size(); ++n )
                             {
                                 SwFrmFmt* pFly = (*GetSpzFrmFmts())[n];
                                 const SwFmtAnchor* pAnchor = &pFly->GetAnchor();
commit 1b4d55645da61804c029f496a6ffb4febe99345a
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 00:56:26 2015 +0100

    Use more proper types/range-for loops, reduce scope
    
    Change-Id: I2749ce16f870fb7af2dea23452bec0ec7f8de625

diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index 131ea4e..59d08aa 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -133,7 +133,7 @@ static bool lcl_RstAttr( const SwNodePtr& rpNd, void* pArgs )
         const SfxPoolItem* pItem;
 
         sal_uInt16 const aSavIds[3] = { RES_PAGEDESC, RES_BREAK, RES_PARATR_NUMRULE };
-        for (sal_uInt16 n = 0; n < 3; ++n)
+        for (int n = 0; n < 3; ++n)
         {
             if (SfxItemState::SET == pAttrSetOfNode->GetItemState(aSavIds[n], false, &pItem))
             {
@@ -547,13 +547,12 @@ void SwDoc::SetDefault( const SfxItemSet& rSet )
     SwAttrSet aOld( GetAttrPool(), rSet.GetRanges() ),
             aNew( GetAttrPool(), rSet.GetRanges() );
     SfxItemIter aIter( rSet );
-    sal_uInt16 nWhich;
     const SfxPoolItem* pItem = aIter.GetCurItem();
     SfxItemPool* pSdrPool = GetAttrPool().GetSecondaryPool();
     while( true )
     {
         bool bCheckSdrDflt = false;
-        nWhich = pItem->Which();
+        const sal_uInt16 nWhich = pItem->Which();
         aOld.Put( GetAttrPool().GetDefaultItem( nWhich ) );
         GetAttrPool().SetPoolDefaultItem( *pItem );
         aNew.Put( GetAttrPool().GetDefaultItem( nWhich ) );
@@ -1109,7 +1108,7 @@ SwFmt* SwDoc::CopyFmt( const SwFmt& rFmt,
     // It's no autoformat, default format or collection format,
     // then search for it.
     if( !rFmt.IsAuto() || !rFmt.GetRegisteredIn() )
-        for( sal_uInt16 n = 0; n < rFmtArr.GetFmtCount(); n++ )
+        for( size_t n = 0; n < rFmtArr.GetFmtCount(); ++n )
         {
             // Does the Doc already contain the template?
             if( rFmtArr.GetFmt(n)->GetName()==rFmt.GetName() )
@@ -1251,11 +1250,10 @@ void SwDoc::CopyFmtArr( const SwFmtsBase& rSourceArr,
                         FNCopyFmt fnCopyFmt,
                         SwFmt& rDfltFmt )
 {
-    sal_uInt16 nSrc;
     SwFmt* pSrc, *pDest;
 
     // 1st step: Create all formats (skip the 0th - it's the default one)
-    for( nSrc = rSourceArr.GetFmtCount(); nSrc > 1; )
+    for( size_t nSrc = rSourceArr.GetFmtCount(); nSrc > 1; )
     {
         pSrc = (SwFmt*)rSourceArr.GetFmt( --nSrc );
         if( pSrc->IsDefault() || pSrc->IsAuto() )
@@ -1272,7 +1270,7 @@ void SwDoc::CopyFmtArr( const SwFmtsBase& rSourceArr,
     }
 
     // 2nd step: Copy all attributes, set the right parents
-    for( nSrc = rSourceArr.GetFmtCount(); nSrc > 1; )
+    for( size_t nSrc = rSourceArr.GetFmtCount(); nSrc > 1; )
     {
         pSrc = (SwFmt*)rSourceArr.GetFmt( --nSrc );
         if( pSrc->IsDefault() || pSrc->IsAuto() )
@@ -1533,8 +1531,6 @@ void SwDoc::ReplaceStyles( const SwDoc& rSource, bool bIncludePageStyles )
     CopyFmtArr( *rSource.mpTxtFmtCollTbl, *mpTxtFmtCollTbl,
                 &SwDoc::_MakeTxtFmtColl, *mpDfltTxtFmtColl );
 
-    sal_uInt16 nCnt;
-
     //To-Do:
     //  a) in rtf export don't export our hideous pgdsctbl
     //  extension to rtf anymore
@@ -1545,7 +1541,7 @@ void SwDoc::ReplaceStyles( const SwDoc& rSource, bool bIncludePageStyles )
     if (bIncludePageStyles)
     {
         // and now the page templates
-        nCnt = rSource.maPageDescs.size();
+        SwPageDescs::size_type nCnt = rSource.maPageDescs.size();
         if( nCnt )
         {
             // a different Doc -> Number formatter needs to be merged
@@ -1570,11 +1566,11 @@ void SwDoc::ReplaceStyles( const SwDoc& rSource, bool bIncludePageStyles )
     }
 
     // then there are the numbering templates
-    nCnt = rSource.GetNumRuleTbl().size();
+    const SwPageDescs::size_type nCnt = rSource.GetNumRuleTbl().size();
     if( nCnt )
     {
         const SwNumRuleTbl& rArr = rSource.GetNumRuleTbl();
-        for( sal_uInt16 n = 0; n < nCnt; ++n )
+        for( SwPageDescs::size_type n = 0; n < nCnt; ++n )
         {
             const SwNumRule& rR = *rArr[ n ];
             SwNumRule* pNew = FindNumRulePtr( rR.GetName());
@@ -1609,7 +1605,7 @@ SwFmt* SwDoc::FindFmtByName( const SwFmtsBase& rFmtArr,
                              const OUString& rName ) const
 {
     SwFmt* pFnd = 0;
-    for( sal_uInt16 n = 0; n < rFmtArr.GetFmtCount(); n++ )
+    for( size_t n = 0; n < rFmtArr.GetFmtCount(); ++n )
     {
         // Does the Doc already contain the template?
         if( rFmtArr.GetFmt(n)->GetName() == rName )
@@ -1633,8 +1629,7 @@ void SwDoc::MoveLeftMargin( const SwPaM& rPam, bool bRight, bool bModulus )
     }
 
     const SvxTabStopItem& rTabItem = static_cast<const SvxTabStopItem&>(GetDefault( RES_PARATR_TABSTOP ));
-    sal_uInt16 nDefDist = rTabItem.Count() ?
-        static_cast<sal_uInt16>(rTabItem[0].GetTabPos()) : 1134;
+    const sal_Int32 nDefDist = rTabItem.Count() ? rTabItem[0].GetTabPos() : 1134;
     const SwPosition &rStt = *rPam.Start(), &rEnd = *rPam.End();
     SwNodeIndex aIdx( rStt.nNode );
     while( aIdx <= rEnd.nNode )
@@ -1956,11 +1951,8 @@ namespace docfunc
         const SwTxtFmtColls* pTxtFmtColls( rDoc.GetTxtFmtColls() );
         if ( pTxtFmtColls )
         {
-            const sal_uInt16 nCount = pTxtFmtColls->size();
-            for ( sal_uInt16 i = 0; i < nCount; ++i )
+            for ( auto pTxtFmtColl : *pTxtFmtColls )
             {
-                SwTxtFmtColl* pTxtFmtColl = (*pTxtFmtColls)[i];
-
                 if ( pTxtFmtColl->IsDefault() ||
                     ! pTxtFmtColl->IsAssignedToListLevelOfOutlineStyle() )
                 {
commit f473167aaaa85f74a1da247340d7bd18a2128933
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 00:46:46 2015 +0100

    Use range-for loop
    
    Change-Id: I1a4c031cb1d65dbdb4f9290997eb65e7738df1d3

diff --git a/sw/source/core/doc/docfly.cxx b/sw/source/core/doc/docfly.cxx
index 6c26ce4..0e39cfb 100644
--- a/sw/source/core/doc/docfly.cxx
+++ b/sw/source/core/doc/docfly.cxx
@@ -970,10 +970,9 @@ int SwDoc::Chainable( const SwFrmFmt &rSource, const SwFrmFmt &rDest )
         return SW_CHAIN_NOT_EMPTY;
     }
 
-    sal_uInt16 nArrLen = GetSpzFrmFmts()->size();
-    for( sal_uInt16 n = 0; n < nArrLen; ++n )
+    for( auto pSpzFrmFm : *GetSpzFrmFmts() )
     {
-        const SwFmtAnchor& rAnchor = (*GetSpzFrmFmts())[ n ]->GetAnchor();
+        const SwFmtAnchor& rAnchor = pSpzFrmFm->GetAnchor();
         sal_uLong nTstSttNd;
         // #i20622# - to-frame anchored objects are allowed.
         if ( ((rAnchor.GetAnchorId() == FLY_AT_PARA) ||
commit bdfe8a2680b27f2f887729f80d8c0cbb831a0674
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 00:44:12 2015 +0100

    Avoid unnecessary OUString copies
    
    Change-Id: Idd61ad459103f35e7a5094c112eb3294fedb7f90

diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 44ad6e2..69e4966 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -415,12 +415,9 @@ void SwDoc::SetInitDBFields( bool b )
 /// Get all databases that are used by fields
 static OUString lcl_DBDataToString(const SwDBData& rData)
 {
-    OUString sRet = rData.sDataSource;
-    sRet += OUString(DB_DELIM);
-    sRet += rData.sCommand;
-    sRet += OUString(DB_DELIM);
-    sRet += OUString::number(rData.nCommandType);
-    return sRet;
+    return rData.sDataSource + OUString(DB_DELIM)
+        + rData.sCommand + OUString(DB_DELIM)
+        + OUString::number(rData.nCommandType);
 }
 
 #endif
@@ -448,9 +445,8 @@ void SwDoc::GetAllUsedDB( std::vector<OUString>& rDBNameList,
 
         if( pSect )
         {
-            OUString aCond( pSect->GetCondition() );
             AddUsedDBToList( rDBNameList, FindUsedDBs( *pAllDBNames,
-                                                aCond, aUsedDBNames ) );
+                                                pSect->GetCondition(), aUsedDBNames ) );
             aUsedDBNames.clear();
         }
     }
@@ -526,28 +522,25 @@ std::vector<OUString>& SwDoc::FindUsedDBs( const std::vector<OUString>& rAllDBNa
                                    std::vector<OUString>& rUsedDBNames )
 {
     const CharClass& rCC = GetAppCharClass();
-    OUString  sFormula(rFormula);
 #ifndef UNX
-    sFormula = rCC.uppercase( sFormula );
+    const OUString sFormula(rCC.uppercase( rFormula ));
+#else
+    const OUString sFormula(rFormula);
 #endif
 
     for (const auto &sItem : rAllDBNames)
     {
-        OUString pStr(sItem);
-
-        sal_Int32 nPos = sFormula.indexOf( pStr );
+        sal_Int32 nPos = sFormula.indexOf( sItem );
         if( nPos>=0 &&
-            sFormula[ nPos + pStr.getLength() ] == '.' &&
+            sFormula[ nPos + sItem.getLength() ] == '.' &&
             (!nPos || !rCC.isLetterNumeric( sFormula, nPos - 1 )))
         {
             // Look up table name
-            nPos += pStr.getLength() + 1;
+            nPos += sItem.getLength() + 1;
             const sal_Int32 nEndPos = sFormula.indexOf('.', nPos);
             if( nEndPos>=0 )
             {
-                pStr += OUString( DB_DELIM );
-                pStr += sFormula.copy( nPos, nEndPos - nPos );
-                rUsedDBNames.push_back(pStr);
+                rUsedDBNames.push_back(sItem + OUString( DB_DELIM ) + sFormula.copy( nPos, nEndPos - nPos ));
             }
         }
     }
commit e6ebf3428345c975a2188177dc812c00fee5cc06
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 00:39:04 2015 +0100

    Reduce scope of some variables
    
    Change-Id: Id7a6280bed69059980d5b8f46c80e9dc4a290bba

diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 7a5807c..44ad6e2 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -531,19 +531,19 @@ std::vector<OUString>& SwDoc::FindUsedDBs( const std::vector<OUString>& rAllDBNa
     sFormula = rCC.uppercase( sFormula );
 #endif
 
-    sal_Int32 nPos;
     for (const auto &sItem : rAllDBNames)
     {
         OUString pStr(sItem);
 
-        if( -1 != (nPos = sFormula.indexOf( pStr )) &&
+        sal_Int32 nPos = sFormula.indexOf( pStr );
+        if( nPos>=0 &&
             sFormula[ nPos + pStr.getLength() ] == '.' &&
             (!nPos || !rCC.isLetterNumeric( sFormula, nPos - 1 )))
         {
             // Look up table name
-            sal_Int32 nEndPos;
             nPos += pStr.getLength() + 1;
-            if( -1 != (nEndPos = sFormula.indexOf('.', nPos)) )
+            const sal_Int32 nEndPos = sFormula.indexOf('.', nPos);
+            if( nEndPos>=0 )
             {
                 pStr += OUString( DB_DELIM );
                 pStr += sFormula.copy( nPos, nEndPos - nPos );
@@ -613,12 +613,12 @@ void SwDoc::ChangeDBFields( const std::vector<OUString>& rOldNames,
         }
     }
 
-    const SfxPoolItem* pItem;
     sal_uInt32 nMaxItems = GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
 
     for (sal_uInt32 n = 0; n < nMaxItems; ++n )
     {
-        if( 0 == (pItem = GetAttrPool().GetItem2( RES_TXTATR_FIELD, n ) ))
+        const SfxPoolItem* pItem = GetAttrPool().GetItem2( RES_TXTATR_FIELD, n );
+        if( !pItem )
             continue;
 
         SwFmtFld* pFmtFld = const_cast<SwFmtFld*>(static_cast<const SwFmtFld*>(pItem));
@@ -891,12 +891,12 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
 #if HAVE_FEATURE_DBCONNECTIVITY
     bool bIsDBManager = 0 != rDoc.GetDBManager();
 #endif
-    sal_uInt16 nWhich;
-    const SfxPoolItem* pItem;
+
     const sal_uInt32 nMaxItems = rDoc.GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
     for( sal_uInt32 n = 0; n < nMaxItems; ++n )
     {
-        if( 0 == (pItem = rDoc.GetAttrPool().GetItem2( RES_TXTATR_FIELD, n )) )
+        const SfxPoolItem* pItem = rDoc.GetAttrPool().GetItem2( RES_TXTATR_FIELD, n );
+        if( !pItem )
             continue;
 
         const SwFmtFld* pFmtFld = static_cast<const SwFmtFld*>(pItem);
@@ -906,7 +906,8 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
 
         OUString sFormula;
         const SwField* pFld = pFmtFld->GetField();
-        switch( nWhich = pFld->GetTyp()->Which() )
+        const sal_uInt16 nWhich = pFld->GetTyp()->Which();
+        switch( nWhich )
         {
             case RES_DBSETNUMBERFLD:
             case RES_GETEXPFLD:
commit 61b0498b0f8aca326469d4a9be481f4bc0bd47c5
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Thu Feb 12 00:28:02 2015 +0100

    Use more proper integer types and range-for loops
    
    Change-Id: I2c3dbad8037a1d7d2d3e0fdb161d1c652f49ec47

diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 439c421..7a5807c 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -363,8 +363,8 @@ const SwDBData& SwDoc::GetDBDesc()
 #if HAVE_FEATURE_DBCONNECTIVITY
     if(maDBData.sDataSource.isEmpty())
     {
-        const sal_uInt16 nSize = getIDocumentFieldsAccess().GetFldTypes()->size();
-        for(sal_uInt16 i = 0; i < nSize && maDBData.sDataSource.isEmpty(); ++i)
+        const SwFldTypes::size_type nSize = getIDocumentFieldsAccess().GetFldTypes()->size();
+        for(SwFldTypes::size_type i = 0; i < nSize && maDBData.sDataSource.isEmpty(); ++i)
         {
             SwFieldType& rFldType = *((*getIDocumentFieldsAccess().GetFldTypes())[i]);
             sal_uInt16 nWhich = rFldType.Which();
@@ -442,7 +442,7 @@ void SwDoc::GetAllUsedDB( std::vector<OUString>& rDBNameList,
     }
 
     SwSectionFmts& rArr = GetSections();
-    for (sal_uInt16 n = rArr.size(); n; )
+    for (auto n = rArr.size(); n; )
     {
         SwSection* pSect = rArr[ --n ]->GetSection();
 
@@ -514,10 +514,9 @@ void SwDoc::GetAllDBNames( std::vector<OUString>& rAllDBNames )
     SwDBManager* pMgr = GetDBManager();
 
     const SwDSParamArr& rArr = pMgr->GetDSParamArray();
-    for(sal_uInt16 i = 0; i < rArr.size(); i++)
+    for(const auto &aParam : rArr)
     {
-        const SwDSParam* pParam = &rArr[i];
-        rAllDBNames.push_back(pParam->sDataSource + OUString(DB_DELIM) + pParam->sCommand);
+        rAllDBNames.push_back(aParam.sDataSource + OUString(DB_DELIM) + aParam.sCommand);
     }
 #endif
 }
@@ -533,9 +532,9 @@ std::vector<OUString>& SwDoc::FindUsedDBs( const std::vector<OUString>& rAllDBNa
 #endif
 
     sal_Int32 nPos;
-    for (sal_uInt16 i = 0; i < rAllDBNames.size(); ++i )
+    for (const auto &sItem : rAllDBNames)
     {
-        OUString pStr(rAllDBNames[i]);
+        OUString pStr(sItem);
 
         if( -1 != (nPos = sFormula.indexOf( pStr )) &&
             sFormula[ nPos + pStr.getLength() ] == '.' &&
@@ -558,8 +557,8 @@ std::vector<OUString>& SwDoc::FindUsedDBs( const std::vector<OUString>& rAllDBNa
 void SwDoc::AddUsedDBToList( std::vector<OUString>& rDBNameList,
                              const std::vector<OUString>& rUsedDBNames )
 {
-    for (sal_uInt16 i = 0; i < rUsedDBNames.size(); ++i)
-        AddUsedDBToList( rDBNameList, rUsedDBNames[i] );
+    for ( const auto &sName : rUsedDBNames )
+        AddUsedDBToList( rDBNameList, sName );
 }
 
 void SwDoc::AddUsedDBToList( std::vector<OUString>& rDBNameList, const OUString& rDBName)
@@ -572,13 +571,13 @@ void SwDoc::AddUsedDBToList( std::vector<OUString>& rDBNameList, const OUString&
         return;
 
 #ifdef UNX
-    for( sal_uInt16 i = 0; i < rDBNameList.size(); ++i )
-        if( rDBName == rDBNameList[i].getToken(0, ';') )
+    for( const auto &sName : rDBNameList )
+        if( rDBName == sName.getToken(0, ';') )
             return;
 #else
     const ::utl::TransliterationWrapper& rSCmp = GetAppCmpStrIgnore();
-    for( sal_uInt16 i = 0; i < rDBNameList.size(); ++i )
-        if( rSCmp.isEqual( rDBName, rDBNameList[i].getToken(0, ';') ) )
+    for( const auto &sName : rDBNameList )
+        if( rSCmp.isEqual( rDBName, sName.getToken(0, ';') ) )
             return;
 #endif
 
@@ -604,7 +603,7 @@ void SwDoc::ChangeDBFields( const std::vector<OUString>& rOldNames,
     aNewDBData.nCommandType = (short)rNewName.getToken(2, DB_DELIM).toInt32();
 
     SwSectionFmts& rArr = GetSections();
-    for (sal_uInt16 n = rArr.size(); n; )
+    for (auto n = rArr.size(); n; )
     {
         SwSection* pSect = rArr[ --n ]->GetSection();
 
@@ -741,13 +740,13 @@ OUString SwDoc::ReplaceUsedDBs( const std::vector<OUString>& rUsedDBNames,
 bool SwDoc::IsNameInArray( const std::vector<OUString>& rArr, const OUString& rName )
 {
 #ifdef UNX
-    for( sal_uInt16 i = 0; i < rArr.size(); ++i )
-        if( rName == rArr[ i ] )
+    for( const auto &sName : rArr )
+        if( rName == sName )
             return true;
 #else
     const ::utl::TransliterationWrapper& rSCmp = GetAppCmpStrIgnore();
-    for( sal_uInt16 i = 0; i < rArr.size(); ++i )
-        if( rSCmp.isEqual( rName, rArr[ i] ))
+    for( const auto &sName : rArr )
+        if( rSCmp.isEqual( rName, sName ))
             return true;
 #endif
     return false;
@@ -755,9 +754,9 @@ bool SwDoc::IsNameInArray( const std::vector<OUString>& rArr, const OUString& rN
 
 void SwDoc::ChangeAuthorityData( const SwAuthEntry* pNewData )
 {
-    const sal_uInt16 nSize = getIDocumentFieldsAccess().GetFldTypes()->size();
+    const SwFldTypes::size_type nSize = getIDocumentFieldsAccess().GetFldTypes()->size();
 
-    for( sal_uInt16 i = INIT_FLDTYPES; i < nSize; ++i )
+    for( SwFldTypes::size_type i = INIT_FLDTYPES; i < nSize; ++i )
     {
         SwFieldType* pFldType = (*getIDocumentFieldsAccess().GetFldTypes())[i];
         if( RES_AUTHORITY  == pFldType->Which() )
@@ -803,7 +802,7 @@ void SwDocUpdtFld::InsDelFldInFldLst( bool bIns, const SwTxtFld& rFld )
     {
         // look up via the pTxtFld pointer. It is a sorted list, but it's sorted by node
         // position. Until this is found, the search for the pointer is already done.
-        for( sal_uInt16 n = 0; n < pFldSortLst->size(); ++n )
+        for( _SetGetExpFlds::size_type n = 0; n < pFldSortLst->size(); ++n )
             if( &rFld == (*pFldSortLst)[ n ]->GetPointer() )
             {
                 delete (*pFldSortLst)[n];
@@ -845,12 +844,12 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
         // In order for the frames to be created the right way, they have to be expanded
         // from top to bottom
         std::vector<sal_uLong> aTmpArr;
+        std::vector<sal_uLong>::size_type nArrStt = 0;
         SwSectionFmts& rArr = rDoc.GetSections();
         SwSectionNode* pSectNd = 0;
-        sal_uInt16 nArrStt = 0;
         sal_uLong nSttCntnt = rDoc.GetNodes().GetEndOfExtras().GetIndex();
 
-        for (sal_uInt16 n = rArr.size(); n; )
+        for (SwSectionFmts::size_type n = rArr.size(); n; )
         {
             SwSection* pSect = rArr[ --n ]->GetSection();
             if( pSect && pSect->IsHidden() && !pSect->GetCondition().isEmpty() &&
@@ -866,13 +865,13 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
 
         // Display all first so that we have frames. The BodyAnchor is defined by that.
         // First the ContentArea, then the special areas!
-        for (sal_uInt16 n = nArrStt; n < aTmpArr.size(); ++n)
+        for (std::vector<sal_uLong>::size_type n = nArrStt; n < aTmpArr.size(); ++n)
         {
             pSectNd = rDoc.GetNodes()[ aTmpArr[ n ] ]->GetSectionNode();
             OSL_ENSURE( pSectNd, "Where is my SectionNode" );
             pSectNd->GetSection().SetCondHidden( false );
         }
-        for (sal_uInt16 n = 0; n < nArrStt; ++n)
+        for (std::vector<sal_uLong>::size_type n = 0; n < nArrStt; ++n)
         {
             pSectNd = rDoc.GetNodes()[ aTmpArr[ n ] ]->GetSectionNode();
             OSL_ENSURE( pSectNd, "Where is my SectionNode" );
@@ -880,9 +879,9 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
         }
 
         // add all to the list so that they are sorted
-        for (sal_uInt16 n = 0; n < aTmpArr.size(); ++n)
+        for (const auto &nId : aTmpArr)
         {
-            GetBodyNode( *rDoc.GetNodes()[ aTmpArr[ n ] ]->GetSectionNode() );
+            GetBodyNode( *rDoc.GetNodes()[ nId ]->GetSectionNode() );
         }
     }
 
@@ -892,10 +891,10 @@ void SwDocUpdtFld::_MakeFldList( SwDoc& rDoc, int eGetMode )
 #if HAVE_FEATURE_DBCONNECTIVITY
     bool bIsDBManager = 0 != rDoc.GetDBManager();
 #endif
-    sal_uInt16 nWhich, n;
+    sal_uInt16 nWhich;
     const SfxPoolItem* pItem;
-    sal_uInt32 nMaxItems = rDoc.GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
-    for( n = 0; n < nMaxItems; ++n )
+    const sal_uInt32 nMaxItems = rDoc.GetAttrPool().GetItemCount2( RES_TXTATR_FIELD );
+    for( sal_uInt32 n = 0; n < nMaxItems; ++n )
     {
         if( 0 == (pItem = rDoc.GetAttrPool().GetItem2( RES_TXTATR_FIELD, n )) )
             continue;
@@ -1182,7 +1181,7 @@ SwDocUpdtFld::~SwDocUpdtFld()
 {
     delete pFldSortLst;
 
-    for( sal_uInt16 n = 0; n < TBLSZ; ++n )
+    for( int n = 0; n < TBLSZ; ++n )
         delete aFldTypeTable[n];
 }
 
commit b56b36718c630b0723b6df3126e2137d4cf3735e
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 7 19:05:51 2015 +0100

    Use more proper integer types
    
    Change-Id: Ibba87aacffc78a80c48c6af0d5cb3e52f49b756c

diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index 4d54166..55100ff 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -86,7 +86,7 @@ void _RestFlyInRange( _SaveFlyArr & rArr, const SwNodeIndex& rSttIdx,
 void _SaveFlyInRange( const SwNodeRange& rRg, _SaveFlyArr& rArr )
 {
     SwFrmFmts& rFmts = *rRg.aStart.GetNode().GetDoc()->GetSpzFrmFmts();
-    for( sal_uInt16 n = 0; n < rFmts.size(); ++n )
+    for( SwFrmFmts::size_type n = 0; n < rFmts.size(); ++n )
     {
         SwFrmFmt *const pFmt = rFmts[n];
         SwFmtAnchor const*const pAnchor = &pFmt->GetAnchor();
@@ -125,7 +125,7 @@ void _SaveFlyInRange( const SwPaM& rPam, const SwNodeIndex& rInsPos,
 
     const SwNodeIndex* pCntntIdx;
 
-    for( sal_uInt16 n = 0; n < rFmts.size(); ++n )
+    for( SwFrmFmts::size_type n = 0; n < rFmts.size(); ++n )
     {
         pFmt = (SwFrmFmt*)rFmts[n];
         pAnchor = &pFmt->GetAnchor();
@@ -177,7 +177,7 @@ void DelFlyInRange( const SwNodeIndex& rMkNdIdx,
 
     SwDoc* pDoc = rMkNdIdx.GetNode().GetDoc();
     SwFrmFmts& rTbl = *pDoc->GetSpzFrmFmts();
-    for ( sal_uInt16 i = rTbl.size(); i; )
+    for ( auto i = rTbl.size(); i; )
     {
         SwFrmFmt *pFmt = rTbl[--i];
         const SwFmtAnchor &rAnch = pFmt->GetAnchor();
@@ -268,7 +268,7 @@ void _SaveRedlEndPosForRestore::_Restore()
     if( pNode )
     {
         SwPosition aPos( *pSavIdx, SwIndex( pNode, nSavCntnt ));
-        for( sal_uInt16 n = pSavArr->size(); n; )
+        for( auto n = pSavArr->size(); n; )
             *(*pSavArr)[ --n ] = aPos;
     }
 }
@@ -457,10 +457,10 @@ static void lcl_syncGrammarError( SwTxtNode &rTxtNode, linguistic2::Proofreading
         return;
     SwGrammarMarkUp* pWrong = rTxtNode.GetGrammarCheck();
     linguistic2::SingleProofreadingError* pArray = rResult.aErrors.getArray();
-    sal_uInt16 i, j = 0;
+    sal_uInt16 j = 0;
     if( pWrong )
     {
-        for( i = 0; i < rResult.aErrors.getLength(); ++i )
+        for( sal_Int32 i = 0; i < rResult.aErrors.getLength(); ++i )
         {
             const linguistic2::SingleProofreadingError &rError = rResult.aErrors[i];
             const sal_Int32 nStart = rConversionMap.ConvertToModelPosition( rError.nErrorStart ).mnPos;
commit 9c5bfff952237e45a5dcc653cb7477c454b531f3
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 7 18:53:29 2015 +0100

    Use size_type
    
    Change-Id: I4b4e88d87d96b39186afab1082e5945f441260fe

diff --git a/sw/source/core/doc/doccorr.cxx b/sw/source/core/doc/doccorr.cxx
index 7cf4630..76aae57 100644
--- a/sw/source/core/doc/doccorr.cxx
+++ b/sw/source/core/doc/doccorr.cxx
@@ -180,7 +180,7 @@ void SwDoc::CorrAbs(const SwNodeIndex& rOldNode,
     // fix redlines
     {
         SwRedlineTbl& rTbl = getIDocumentRedlineAccess().GetRedlineTbl();
-        for (sal_uInt16 n = 0; n < rTbl.size(); )
+        for (SwRedlineTbl::size_type n = 0; n < rTbl.size(); )
         {
             // is on position ??
             SwRangeRedline *const pRedline( rTbl[ n ] );
@@ -306,7 +306,7 @@ void SwDoc::CorrRel(const SwNodeIndex& rOldNode,
     { // fix the Redlines
         SwRedlineTbl& rTbl = getIDocumentRedlineAccess().GetRedlineTbl();
         SwPosition aNewPos(rNewPos);
-        for( sal_uInt16 n = 0; n < rTbl.size(); ++n )
+        for( SwRedlineTbl::size_type n = 0; n < rTbl.size(); ++n )
         {
             // lies on the position ??
             lcl_PaMCorrRel1( rTbl[ n ], &rOldNode.GetNode(), aNewPos, aNewPos.nContent.GetIndex() + nOffset );
diff --git a/sw/source/core/doc/docdesc.cxx b/sw/source/core/doc/docdesc.cxx
index cce0277..c489c62 100644
--- a/sw/source/core/doc/docdesc.cxx
+++ b/sw/source/core/doc/docdesc.cxx
@@ -415,7 +415,7 @@ void SwDoc::ChgPageDesc( sal_uInt16 i, const SwPageDesc &rChged )
         // If the numbering scheme has changed we could have QuoVadis/ErgoSum texts
         // that refer to a changed page, so we invalidate foot notes.
         SwFtnIdxs& rFtnIdxs = GetFtnIdxs();
-        for( sal_uInt16 nPos = 0; nPos < rFtnIdxs.size(); ++nPos )
+        for( SwFtnIdxs::size_type nPos = 0; nPos < rFtnIdxs.size(); ++nPos )
         {
             SwTxtFtn *pTxtFtn = rFtnIdxs[ nPos ];
             const SwFmtFtn &rFtn = pTxtFtn->GetFtn();
@@ -582,7 +582,7 @@ void SwDoc::PreDelPageDesc(SwPageDesc * pDel)
         }
     }
 
-    for ( sal_uInt16 j = 0; j < maPageDescs.size(); ++j )
+    for ( SwPageDescs::size_type j = 0; j < maPageDescs.size(); ++j )
     {
         if ( maPageDescs[j].GetFollow() == pDel )
         {
@@ -689,7 +689,7 @@ SwPageDesc* SwDoc::FindPageDesc(const OUString& rName, sal_uInt16* pPos)
     SwPageDesc* pRet = NULL;
     if( pPos ) *pPos = USHRT_MAX;
 
-    for( sal_uInt16 n = 0, nEnd = maPageDescs.size(); n < nEnd; ++n )
+    for( SwPageDescs::size_type n = 0, nEnd = maPageDescs.size(); n < nEnd; ++n )
     {
         if( maPageDescs[ n ].HasName( rName ) )
         {
@@ -750,7 +750,7 @@ void SwDoc::PrtOLENotify( bool bAll )
                              0, pNodes->size(), GetDocShell());
             getIDocumentLayoutAccess().GetCurrentLayout()->StartAllAction();
 
-            for( sal_uInt16 i = 0; i < pNodes->size(); ++i )
+            for( SwOLENodes::size_type i = 0; i < pNodes->size(); ++i )
             {
                 ::SetProgressState( i, GetDocShell() );
 
@@ -770,7 +770,7 @@ void SwDoc::PrtOLENotify( bool bAll )
                 }
 
                 bool bFound = false;
-                for ( sal_uInt16 j = 0;
+                for ( std::vector<SvGlobalName*>::size_type j = 0;
                       j < pGlobalOLEExcludeList->size() && !bFound;
                       ++j )
                 {
@@ -808,7 +808,7 @@ IMPL_LINK( SwDoc, DoUpdateModifiedOLE, Timer *, )
             getIDocumentLayoutAccess().GetCurrentLayout()->StartAllAction();
             SwMsgPoolItem aMsgHint( RES_UPDATE_ATTR );
 
-            for( sal_uInt16 i = 0; i < pNodes->size(); ++i )
+            for( SwOLENodes::size_type i = 0; i < pNodes->size(); ++i )
             {
                 ::SetProgressState( i, GetDocShell() );
 
commit b56614c6bc8d32a68099c7841ba4a4076f584057
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 7 11:14:29 2015 +0100

    Simplify loops and reduce scope of some variables
    
    Change-Id: I55f0044606a75e79d51dd40976f1492ec797b531

diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index 0de789d..8d9cf08 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -1286,20 +1286,20 @@ void SwRangeRedline::DelCopyOfSection(size_t nMyPos)
                 const SwRedlineTbl& rTbl = pDoc->getIDocumentRedlineAccess().GetRedlineTbl();
                 sal_uInt16 n = nMyPos;
                 OSL_ENSURE( n != USHRT_MAX, "How strange. We don't exist!" );
-                for( bool bBreak = false; !bBreak && n > 0; )
+                while ( n > 0 )
                 {
                     --n;
-                    bBreak = true;
                     if( rTbl[ n ]->GetBound(true) == *aPam.GetPoint() )
                     {
                         rTbl[ n ]->GetBound(true) = *pEnd;
-                        bBreak = false;
+                        continue;
                     }
                     if( rTbl[ n ]->GetBound(false) == *aPam.GetPoint() )
                     {
                         rTbl[ n ]->GetBound(false) = *pEnd;
-                        bBreak = false;
+                        continue;
                     }
+                    break;
                 }
 
                 SwPosition aEnd( *pEnd );
@@ -1333,41 +1333,39 @@ void SwRangeRedline::MoveFromSection(size_t nMyPos)
         const SwRedlineTbl& rTbl = pDoc->getIDocumentRedlineAccess().GetRedlineTbl();
         std::vector<SwPosition*> aBeforeArr, aBehindArr;
         OSL_ENSURE( this, "this is not in the array?" );
-        bool bBreak = false;
-        SwRedlineTbl::size_type n;
 
-        for( n = nMyPos+1; !bBreak && n < rTbl.size(); ++n )
+        for( SwRedlineTbl::size_type n = nMyPos+1; n < rTbl.size(); ++n )
         {
-            bBreak = true;
             if( rTbl[ n ]->GetBound(true) == *GetPoint() )
             {
                 SwRangeRedline* pRedl = rTbl[n];
                 aBehindArr.push_back(&pRedl->GetBound(true));
-                bBreak = false;
+                continue;
             }
             if( rTbl[ n ]->GetBound(false) == *GetPoint() )
             {
                 SwRangeRedline* pRedl = rTbl[n];
                 aBehindArr.push_back(&pRedl->GetBound(false));
-                bBreak = false;
+                continue;
             }
+            break;
         }
-        for( bBreak = false, n = nMyPos; !bBreak && n ; )
+        for( SwRedlineTbl::size_type n = nMyPos; n ; )
         {
             --n;
-            bBreak = true;
             if( rTbl[ n ]->GetBound(true) == *GetPoint() )
             {
                 SwRangeRedline* pRedl = rTbl[n];
                 aBeforeArr.push_back(&pRedl->GetBound(true));
-                bBreak = false;
+                continue;
             }
             if( rTbl[ n ]->GetBound(false) == *GetPoint() )
             {
                 SwRangeRedline* pRedl = rTbl[n];
                 aBeforeArr.push_back(&pRedl->GetBound(false));
-                bBreak = false;
+                continue;
             }
+            break;
         }
 
         const SwNode* pKeptCntntSectNode( &pCntntSect->GetNode() ); // #i95711#
@@ -1436,10 +1434,10 @@ void SwRangeRedline::MoveFromSection(size_t nMyPos)
 
         // adjustment of redline table positions must take start and
         // end into account, not point and mark.
-        for( n = 0; n < aBeforeArr.size(); ++n )
-            *aBeforeArr[ n ] = *Start();
-        for( n = 0; n < aBehindArr.size(); ++n )
-            *aBehindArr[ n ] = *End();
+        for( auto& pItem : aBeforeArr )
+            *pItem = *Start();
+        for( auto& pItem : aBehindArr )
+            *pItem = *End();
     }
     else
         InvalidateRange();
commit 2aab43b2a58aa670b8d38dae1a94cd1c6ba5693c
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sat Feb 7 11:03:45 2015 +0100

    Use size_type instead of sal_uInt16
    
    Change-Id: I7d6762f2bf7aec15255288d356ad59d161b03dfd

diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index 7e8c9e5..0de789d 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -52,13 +52,13 @@ using namespace com::sun::star;
 
     void sw_DebugRedline( const SwDoc* pDoc )
     {
-        static sal_uInt16 nWatch = 0;
+        static SwRedlineTbl::size_type nWatch = 0;
         const SwRedlineTbl& rTbl = pDoc->getIDocumentRedlineAccess().GetRedlineTbl();
-        for( sal_uInt16 n = 0; n < rTbl.size(); ++n )
+        for( SwRedlineTbl::size_type n = 0; n < rTbl.size(); ++n )
         {
-            sal_uInt16 nDummy = 0;
+            SwRedlineTbl::size_type nDummy = 0;
             const SwRangeRedline* pCurrent = rTbl[ n ];
-            const SwRangeRedline* pNext = n+1 < (sal_uInt16)rTbl.size() ? rTbl[ n+1 ] : 0;
+            const SwRangeRedline* pNext = n+1 < rTbl.size() ? rTbl[ n+1 ] : 0;
             if( pCurrent == pNext )
                 ++nDummy;
             if( n == nWatch )
@@ -1104,7 +1104,7 @@ void SwRangeRedline::MoveToSection()
             // In order to not move other Redlines' indices, we set them
             // to the end (is exclusive)
             const SwRedlineTbl& rTbl = pDoc->getIDocumentRedlineAccess().GetRedlineTbl();
-            for( sal_uInt16 n = 0; n < rTbl.size(); ++n )
+            for( SwRedlineTbl::size_type n = 0; n < rTbl.size(); ++n )
             {
                 SwRangeRedline* pRedl = rTbl[ n ];
                 if( pRedl->GetBound(true) == *pStt )
@@ -1254,7 +1254,7 @@ void SwRangeRedline::DelCopyOfSection(size_t nMyPos)
             // In order to not move other Redlines' indices, we set them
             // to the end (is exclusive)
             const SwRedlineTbl& rTbl = pDoc->getIDocumentRedlineAccess().GetRedlineTbl();
-            for( sal_uInt16 n = 0; n < rTbl.size(); ++n )
+            for( SwRedlineTbl::size_type n = 0; n < rTbl.size(); ++n )
             {
                 SwRangeRedline* pRedl = rTbl[ n ];
                 if( pRedl->GetBound(true) == *pStt )
@@ -1334,7 +1334,7 @@ void SwRangeRedline::MoveFromSection(size_t nMyPos)
         std::vector<SwPosition*> aBeforeArr, aBehindArr;
         OSL_ENSURE( this, "this is not in the array?" );
         bool bBreak = false;
-        sal_uInt16 n;
+        SwRedlineTbl::size_type n;
 
         for( n = nMyPos+1; !bBreak && n < rTbl.size(); ++n )
         {


More information about the Libreoffice-commits mailing list