Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign

Question on c == 178 || c == 179 || c == 185 in tokenizer

(1/3) > >>

ollydbg:
In the tokenizer.cpp. around line 664, there are code like below:


--- Code: ---#ifdef __WXMSW__ // This is a Windows only bug!
    else if (c == 178 || c == 179 || c == 185) // fetch ² and ³
    {
        str = c;
        MoveToNextChar();
    }
#endif

--- End code ---

I just set a breakpoint in there, and test several project, but the bp never hit there.
So, my question is:

Can someone explain this? ,why it is a windows bug?

Thanks.

ollydbg:
By the way, look at the screen shot:


The number "2" and "3" are superscript numbers. I don't think they should be any where in the C/C++ source code for any reasons.

Edit

I just track the change log of tokenizer.cpp. It seems in rev 5117, this code was added by Morten.


--- Code: ---    else if (c == 178 || c == 179 || c == 185) // fetch ² and ³
    {
        str = c;
        MoveToNextChar();
    }

--- End code ---

In rev 5150, there is another proprocessor added by biplab.



--- Code: ---#ifdef __WXMSW__ // This is a Windows only bug!
    else if (c == 178 || c == 179 || c == 185) // fetch ² and ³
    {
        str = c;
        MoveToNextChar();
    }
#endif

--- End code ---

So, @morten.

Can you explain a little? thanks.

Jenna:
Hi ollydbg, these characters cause a lockup on paring, see this thread for more information: http://forums.codeblocks.org/index.php/topic,8700.msg63405.html#msg63405 .

ollydbg:
Thanks jens. I'll carefully read that topics. :D

ollydbg:
Hi, jens:

I still think that these code can be removed, because people won't write the superscipt "2" and "3" as a variable name or an identifier.

So, the only place they can exists is in Comments, in this case, these special characters can be safely skipped. For me, I can't find a case people will misuse them.

Navigation

[0] Message Index

[#] Next page

Go to full version