Cppcheck reports 'else if' condition matches previous condition (svx)
Caolán McNamara
caolanm at redhat.com
Tue Apr 8 04:10:58 PDT 2014
On Sat, 2014-04-05 at 15:51 -0700, julien2412 wrote:
> Hello,
>
> Cppcheck reported this
> svx/source/unodraw/unomod.cxx
> 492 multiCondition style Expression is always false because 'else if'
> condition matches previous condition at line 460.
>
> Remark: It's a new kind of cppcheck detection and there are quite a lot of
> false positives (at least for LO) for the moment.
>
> Here's the code:
> 460 else if( aTypeName.startsWith( "TableShape" ) )
> 461 {
> 462 nType = OBJ_OLE2;
> 463 }
> ...
> 492 else if( aTypeName.startsWith( "TableShape" ) )
> 493 {
> 494 nType = OBJ_TABLE;
> 495 }
>
> see
> http://opengrok.libreoffice.org/xref/core/svx/source/unodraw/unomod.cxx#460
>
> Which one of this block is ok?
I rather think the second one is the correct one, seeing as
svx/source/unodraw/unopage.cxx maps TableShape to OBJ_TABLE as well.
At one point tables in impress/draw were embedded calc spreadsheets, and
now they are "real" SdrObject things to that would also make sense.
On the other hand that will change the current situation and I have no
idea what makes the code enter that method so definitely a make check
case at least :-)
C.
More information about the LibreOffice
mailing list