aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootstrap/environment.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootstrap/environment.c')
-rw-r--r--src/bootstrap/environment.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bootstrap/environment.c b/src/bootstrap/environment.c
index e111753..78f31fb 100644
--- a/src/bootstrap/environment.c
+++ b/src/bootstrap/environment.c
@@ -106,15 +106,15 @@ env_extend(Environment *parent, Environment *extra) {
106 for (size_t i = 0; i < extra->size; i++) { 106 for (size_t i = 0; i < extra->size; i++) {
107 EnvEntry entry = extra->buf[i]; 107 EnvEntry entry = extra->buf[i];
108 Environment *tmp = env; 108 Environment *tmp = env;
109 ssize_t idx = -1; 109 bool found = false;
110 while (tmp != NULL) { 110 while (tmp != NULL) {
111 idx = env_index_current(tmp, entry.symbol); 111 if (env_index_current(tmp, entry.symbol) != -1) {
112 if (idx != -1) { 112 found = true;
113 break; 113 break;
114 } 114 }
115 tmp = tmp->parent; 115 tmp = tmp->parent;
116 } 116 }
117 if (idx == -1) { 117 if (!found) {
118 env_add_symbol(env, obj_duplicate(entry.symbol), obj_duplicate(entry.value)); 118 env_add_symbol(env, obj_duplicate(entry.symbol), obj_duplicate(entry.value));
119 } 119 }
120 } 120 }