From 9a24a0465f4924ae1853a822d245af9e3a24fc2d Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 25 Jan 2014 00:02:20 +0200 Subject: Add mp_map_deinit() & mp_map_free() to finalize maps. mp_map_deinit() finalizes static map, mp_map_free() - dynamic. --- py/map.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'py/map.c') 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; -- cgit v1.2.3