dev
dev copied to clipboard
Function call not negated if multiple return values used
{$CLEO .cs}
nop
debug_on
int a, b
if
not a, b = foo()
then
trace "FAILED %d %d" a b
else
trace "OK %d %d" a b
end
terminate_this_custom_script
function foo() : int, int
//return 1 2 // condition result ok
cleo_return_with true 1 2 // condition result ok
end
Function call in example compiles as 0AB1
instead of 8AB1
, resulting in incorrect branch to be executed.
Problem occurs when returning single argument too.
Fixed in 4.0.0