About coverity 705746 (pormulti.cxx from sw module)
Julien
serval2412 at yahoo.fr
Fri Mar 15 02:13:04 PDT 2013
De : Noel Grandin <noel at peralex.com>
À : julien2412 <serval2412 at yahoo.fr>
Cc : libreoffice at lists.freedesktop.org
Envoyé le : Vendredi 15 mars 2013 10h04
Objet : Re: About coverity 705746 (pormulti.cxx from sw module)
On 2013-03-15 10:30, julien2412 wrote:
Noel Grandin wrote
>I would guess that someone meant to move line 742 inside the first "if"
statement, but only did half the job.
>Hello Noël, Perhaps I'm too sleepy this morning but I don't see the interest to
duplicate the "new" part. Any hint?
I think the code should read:
if( nLeft || nRight )
{
if( !pCurr->GetPortion() )
pCurr->SetPortion( new SwTxtPortion( *pCurr ) );
if( nLeft )
{
SwMarginPortion *pMarg = new SwMarginPortion( 0 );
pMarg->AddPrtWidth( nLeft );
pMarg->SetPortion( pCurr->GetPortion() );
pCurr->SetPortion( pMarg );
}
if( nRight )
{
SwMarginPortion *pMarg = new SwMarginPortion( 0 );
pMarg->AddPrtWidth( nRight );
pCurr->FindLastPortion()->Append( pMarg );
}
}
________________________________
Disclaimer: http://www.peralex.com/disclaimer.html
Since we have "if( nLeft || nRight )", what about:
if( nLeft || nRight )
{
if( !pCurr->GetPortion() )
pCurr->SetPortion( new SwTxtPortion( *pCurr ) );
SwMarginPortion *pMarg = new SwMarginPortion( 0 );
if( nLeft )
{
pMarg->AddPrtWidth( nLeft );
pMarg->SetPortion( pCurr->GetPortion() );
pCurr->SetPortion( pMarg );
}
if( nRight )
{
pMarg->AddPrtWidth( nRight );
pCurr->FindLastPortion()->Append( pMarg );
}
}
If nLeft and nRight are exlusive, it could also just be an if(nLeft)... else...
In both cases, no need to repeat "SwMarginPortion *pMarg = new SwMarginPortion( 0 );" since we're sure to be in one of these blocks.
Julien
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130315/3de14d14/attachment-0001.html>
More information about the LibreOffice
mailing list