kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #34927
Re: bug in numeric_evaluator?
Yuck. It’s clever code all right. The “correct” version would be:
if( !ch || ( isDecSep( ch ) && sepCount ) )
break;
but it’s a whole 3 characters longer. ;)
I’ll fix this in my 6.0 tree (which already has libeval re-formatted to Kicad standards), but I suggest we leave it sleeping for 5.0.
Cheers,
Jeff.
> On 13 Mar 2018, at 02:20, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>
> +Michael
>
> This looks like "clever" code so I can't tell if this is a bug or not without running through a bunch of test cases which I'm not going to do right now.
> Do you see any issues with the operation of the code, Mark, or just the warning?
>
> -Jon
>
> On Mon, Mar 12, 2018 at 9:28 PM, Mark Roszko <mark.roszko@xxxxxxxxx <mailto:mark.roszko@xxxxxxxxx>> wrote:
> Not sure where to even begin looking at libeval since it looks scary but MSVC complains:
>
> D:\kicad-source-mirror\common\libeval\numeric_evaluator.cpp(216): warning C4805: '==': unsafe mix of type 'char' and type 'bool' in operation
>
> which is:
>
> auto ch = clToken.input[clToken.pos];
> do {
> if (ch == isDecSep(ch) && sepCount) break;
>
>
> ch is a char
>
> isDecSep returns bool
>
> char == bool?
>
>
>
> --
> Mark
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
> More help : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>
>
> _______________________________________________
> 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