summaryrefslogtreecommitdiffstatshomepage
path: root/py/map.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-01-25 00:18:30 +0000
committerDamien George <damien.p.george@gmail.com>2014-01-25 00:18:30 +0000
commit0f5e8b151f2bfaec9c69c296d4fa0082de99e762 (patch)
tree9ecdfede99da8693b3a55ef98d10721f0de31a51 /py/map.c
parent7c9c667633d445e4df88868d630a0af4bc63d2f8 (diff)
parentc1d200ef74c9a76a661cfbb3f2f73db992f0e272 (diff)
downloadmicropython-0f5e8b151f2bfaec9c69c296d4fa0082de99e762.tar.gz
micropython-0f5e8b151f2bfaec9c69c296d4fa0082de99e762.zip
Merge branch 'master' of github.com:micropython/micropython
Diffstat (limited to 'py/map.c')
-rw-r--r--py/map.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/py/map.c b/py/map.c
index 9f919e06ae..2bae8b28d7 100644
--- a/py/map.c
+++ b/py/map.c
@@ -40,6 +40,17 @@ mp_map_t *mp_map_new(int n) {
return map;
}
+// Differentiate from mp_map_clear() - semantics is different
+void mp_map_deinit(mp_map_t *map) {
+ m_del(mp_map_elem_t, map->table, map->alloc);
+ map->used = map->alloc = 0;
+}
+
+void mp_map_free(mp_map_t *map) {
+ mp_map_deinit(map);
+ m_del_obj(mp_map_t, map);
+}
+
void mp_map_clear(mp_map_t *map) {
map->used = 0;
map->all_keys_are_qstrs = 1;