diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-01-23 23:05:47 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-01-23 23:16:18 +0200 |
commit | fd31358505dd794feb153c00bec6d4ee92c851d1 (patch) | |
tree | 9aef5af499cf72b1ae1124ae6fb6d0394d32a0db /py/scope.c | |
parent | 624ed5d563613f592dbb65b52982bbd14822e3f4 (diff) |
mp_compile(): Properly free module_scope and all nested scopes.
Diffstat (limited to 'py/scope.c')
-rw-r--r-- | py/scope.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/py/scope.c b/py/scope.c index 1d240bb63..1f602ac9c 100644 --- a/py/scope.c +++ b/py/scope.c @@ -60,6 +60,11 @@ scope_t *scope_new(scope_kind_t kind, mp_parse_node_t pn, qstr source_file, uint return scope; } +void scope_free(scope_t *scope) { + m_del(id_info_t, scope->id_info, scope->id_info_alloc); + m_del(scope_t, scope, 1); +} + id_info_t *scope_find_or_add_id(scope_t *scope, qstr qstr, bool *added) { for (int i = 0; i < scope->id_info_len; i++) { if (scope->id_info[i].qstr == qstr) { |