Merge pull request #29 from rhinoduck/recursive_calls

Fix wrong function index on some recursive calls
This commit is contained in:
coelckers 2015-10-10 21:03:09 +02:00
commit 3071c321fa

14
parse.c
View file

@ -825,8 +825,18 @@ static void OuterFunction(void)
else
{
sym = SY_InsertGlobal(tk_String, SY_SCRIPTFUNC);
sym->info.scriptFunc.address = (importing == IMPORT_Importing ? 0 : pc_Address);
sym->info.scriptFunc.predefined = NO;
if (importing == IMPORT_Importing)
{
sym->info.scriptFunc.address = 0;
sym->info.scriptFunc.predefined = NO;
}
else
{
sym->info.scriptFunc.address = pc_Address;
sym->info.scriptFunc.predefined = YES;
// only for consistency with other speculated functions and pretty logs
sym->info.scriptFunc.funcNumber = 0;
}
}
defLine = tk_Line;