+ update 2020: WARNING - support of the decompiler is now VERY LIMITED. There are no active developers. This means we will NOT develop new features and/or fix most of bugs. We left the tracker running in case somebody from community would like to work on it. Sorry for the inconvenience.
State: closed new: Initial state. As long as issue is in this state, the work on the issue has not yet begun. opened: Opened state means developer started working on the issue. Feature/Fix will probably be in the next release. postponed: This means developer is not working on it now, for some reason it cannot be implemented now. Issue may be opened again in the future. upgraded: Issue is in upgraded state when developer made changes to the program and new version was released. closed: This means the user is satisfied with issue results and no more changes are needed. invalid: These issues cannot be solved. ignored: Developer decided to take no action on this issue. returned: Program changes were made but user is not satisfied and returned the issue.
> What steps will reproduce the problem?
When Return appears last in true branch of "single branch if" it decompiles like
fullweight if-else clause.
(external_call.sfw, DoInitAction 67, position 143)
Push register2 register3
Push 1 register3 2 register2 "splice"
> What is the expected output? What do you see instead?
continue; << here
while(true); << also please mention an improper loop
Also in DoInitAction 1, lines 139-146
should look more like
if (_loc3.length > 0)
while (_loc2 = _loc3.shift(), _loc3.shift() != undefined)
} // end while
} // end if
> What version of the product are you using? On what operating system?