← Back to team overview

kicad-developers team mailing list archive

Re: Coverity finds an ugly bug in wxWidgets

 

That is probably the best option, since many things in wxWidgets are
implemented as macros but masquerade as functions.

-Ian

On Sat, Jan 11, 2020 at 10:07 PM <seth@xxxxxxxxxxxxx> wrote:

> I suppose that we could update our coding policy to require braces even
> for single line statements.
>
> -Seth
>
> On Jan 11, 2020 1:28 PM, Jeff Young <jeff@xxxxxxxxx> wrote:
>
> This looks safe enough:
>
> if( n_changed )
>     wxLogTrace( "CN", "Cluster %p : net : %d %s\n", cluster.get(),
>             cluster->OriginNet(), (const char*) cluster->OriginNetName().c_str() );
> else
>     wxLogTrace( "CN", "Cluster %p : nothing to propagate\n", cluster.get() );
>
>
> Sadly, the macro wxLogTrace is not parenthesized, and starts with an if
> statement.  So the else doesn’t go where you think it does….
>
> Any ideas on how to fix this that don’t include constantly checking to see
> if new instances have been introduced?
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References