summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMatteo Casalin <matteo.casalin@yahoo.com>2014-03-01 18:26:36 +0100
committerMatteo Casalin <matteo.casalin@yahoo.com>2014-03-02 20:17:59 +0100
commit778e65cc2a35c0aa1dee73f23007709b89703bb9 (patch)
treec05f6fa29e392194536774e4d389d8f889839eed /sw
parent990a6328d1e033a8a8335020da6064b5636a24cb (diff)
Bail out early and avoid temporaries
Change-Id: Iee0f72995c59c03189c6e187c7e24f9247ff844d
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/undo/undobj.cxx74
1 files changed, 30 insertions, 44 deletions
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index 0fcdf5c19bda..2e75e427c098 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -1085,39 +1085,33 @@ bool SwUndo::HasHiddenRedlines( const SwRedlineSaveDatas& rSData )
bool SwUndo::CanRedlineGroup( SwRedlineSaveDatas& rCurr,
const SwRedlineSaveDatas& rCheck, bool bCurrIsEnd )
{
- bool bRet = false;
- size_t n;
+ if( rCurr.size() != rCheck.size() )
+ return false;
- if( rCurr.size() == rCheck.size() )
+ for( size_t n = 0; n < rCurr.size(); ++n )
{
- bRet = true;
- for( n = 0; n < rCurr.size(); ++n )
+ const SwRedlineSaveData& rSet = *rCurr[ n ];
+ const SwRedlineSaveData& rGet = *rCheck[ n ];
+ if( rSet.nSttNode != rGet.nSttNode ||
+ rSet.GetMvSttIdx() || rGet.GetMvSttIdx() ||
+ ( bCurrIsEnd ? rSet.nSttCntnt != rGet.nEndCntnt
+ : rSet.nEndCntnt != rGet.nSttCntnt ) ||
+ !rGet.CanCombine( rSet ) )
{
- const SwRedlineSaveData& rSet = *rCurr[ n ];
- const SwRedlineSaveData& rGet = *rCheck[ n ];
- if( rSet.nSttNode != rGet.nSttNode ||
- rSet.GetMvSttIdx() || rGet.GetMvSttIdx() ||
- ( bCurrIsEnd ? rSet.nSttCntnt != rGet.nEndCntnt
- : rSet.nEndCntnt != rGet.nSttCntnt ) ||
- !rGet.CanCombine( rSet ) )
- {
- bRet = false;
- break;
- }
+ return false;
}
+ }
- if( bRet )
- for( n = 0; n < rCurr.size(); ++n )
- {
- SwRedlineSaveData& rSet = *rCurr[ n ];
- const SwRedlineSaveData& rGet = *rCheck[ n ];
- if( bCurrIsEnd )
- rSet.nSttCntnt = rGet.nSttCntnt;
- else
- rSet.nEndCntnt = rGet.nEndCntnt;
- }
+ for( size_t n = 0; n < rCurr.size(); ++n )
+ {
+ SwRedlineSaveData& rSet = *rCurr[ n ];
+ const SwRedlineSaveData& rGet = *rCheck[ n ];
+ if( bCurrIsEnd )
+ rSet.nSttCntnt = rGet.nSttCntnt;
+ else
+ rSet.nEndCntnt = rGet.nEndCntnt;
}
- return bRet;
+ return true;
}
// #111827#
@@ -1125,27 +1119,19 @@ OUString ShortenString(const OUString & rStr, sal_Int32 nLength, const OUString
{
assert(nLength - rFillStr.getLength() >= 2);
- OUString aResult;
-
if (rStr.getLength() <= nLength)
- aResult = rStr;
- else
- {
- sal_Int32 nTmpLength = nLength - rFillStr.getLength();
- if ( nTmpLength < 2 )
- nTmpLength = 2;
+ return rStr;
- nLength = nTmpLength;
+ nLength -= rFillStr.getLength();
+ if ( nLength < 2 )
+ nLength = 2;
- const sal_Int32 nFrontLen = nLength - nLength / 2;
- const sal_Int32 nBackLen = nLength - nFrontLen;
+ const sal_Int32 nFrontLen = nLength - nLength / 2;
+ const sal_Int32 nBackLen = nLength - nFrontLen;
- aResult += rStr.copy(0, nFrontLen);
- aResult += rFillStr;
- aResult += rStr.copy(rStr.getLength() - nBackLen, nBackLen);
- }
-
- return aResult;
+ return rStr.copy(0, nFrontLen)
+ + rFillStr
+ + rStr.copy(rStr.getLength() - nBackLen);
}
bool IsDestroyFrameAnchoredAtChar(SwPosition const & rAnchorPos,