aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-11-15 22:32:02 +0100
committerBad Diode <bd@badd10de.dev>2021-11-15 22:32:02 +0100
commit26f1b9c35d337c0814158077fdc8f56b817e0b14 (patch)
treee0b20f3e6e843a3df45400f713eae1242ce8db65 /src/parser.c
parentdf4d884edb9b3a29d498d6852d0e8e077d9350df (diff)
downloadbdl-26f1b9c35d337c0814158077fdc8f56b817e0b14.tar.gz
bdl-26f1b9c35d337c0814158077fdc8f56b817e0b14.zip
Fix stack on procedure call return
Diffstat (limited to 'src/parser.c')
-rw-r--r--src/parser.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/parser.c b/src/parser.c
index 64bd22d..0968ccd 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -456,7 +456,9 @@ symbol_in_env(Environment *env, Object *symbol) {
456 456
457void 457void
458insert_local(Environment *env, Object *symbol, Object *value) { 458insert_local(Environment *env, Object *symbol, Object *value) {
459 if (find_var_index(env->locals, symbol) != -1) { 459 ssize_t idx = find_var_index(env->locals, symbol);
460 if (idx != -1) {
461 env->local_values[idx] = value;
460 return; 462 return;
461 } 463 }
462 array_push(env->locals, symbol); 464 array_push(env->locals, symbol);