diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:24:19 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:24:19 +0000 |
commit | a4cc3e44e0fcf15159c68f7af45e8decd0c30ba4 (patch) | |
tree | 190517effb2fb585ad9e3a588ac2aaf646dbff46 /symbol.c | |
parent | 468e0f6313fb620bd2f7ea469178fe02412ddc31 (diff) |
Make sure variables are as local as they need to be
Diffstat (limited to 'symbol.c')
-rw-r--r-- | symbol.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -38,6 +38,10 @@ getsym(Rune *name, int fresh) done = 1; }while(!done && !fresh); + /* make sure to allocate in the most local scope if the symbol is not found */ + if(currentdfn) + tab = currentdfn->symtab; + tab->nsyms++; tab->syms = realloc(tab->syms, sizeof(Symbol *) * tab->nsyms); tab->syms[tab->nsyms-1] = emalloc(sizeof(Symbol)); |