diff options
author | Matteo Casalin <matteo.casalin@yahoo.com> | 2014-03-01 18:26:36 +0100 |
---|---|---|
committer | Matteo Casalin <matteo.casalin@yahoo.com> | 2014-03-02 20:17:59 +0100 |
commit | 778e65cc2a35c0aa1dee73f23007709b89703bb9 (patch) | |
tree | c05f6fa29e392194536774e4d389d8f889839eed /sw | |
parent | 990a6328d1e033a8a8335020da6064b5636a24cb (diff) |
Bail out early and avoid temporaries
Change-Id: Iee0f72995c59c03189c6e187c7e24f9247ff844d
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/undo/undobj.cxx | 74 |
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, |