Re: possible bug in decompiler
Posted:
Fri Jun 05, 2009 7:54 am
by Batlin
I don't think it's a bug.
The "if" is one scriptword, the "{" another, "(" yet another, then 0x00 are 3 bytes in the .M (one word to define constant, and one byte the constant itself), and also ")" is a script word, and keep in mind the } literals are inside the M too, they are not added by the decompiler.
"if(0x00) { " ---> 2+2+3+2+2 = 7 bytes alone inside the M
It looks to me it's code OSI was testing with. I do that too when programming sometimes, not the best practice though.
What you could do is, provide a list with all scripts where you see this behaviour and I can see with the "normal" M Decompiler how those script functions are parsed to the execution objects.
Re: possible bug in decompiler
Posted:
Fri Jun 05, 2009 2:30 pm
by Derrick
I do this often myself, enclose test blocks in If(false) which I can change to (True) when needed. Usually i use constants for this purpose, so i can turn on and off code scattered thoughout.
Under .Net anyway it's no different that using #define and #if compiler directives, as .Net will not compile code (in optimize mode) that cannot be entered.