From dee980d2ddf2afde01ab044b1285b05b6a085dba Mon Sep 17 00:00:00 2001 From: Jun Wang Date: Mon, 23 Mar 2015 02:27:08 +0000 Subject: [PATCH] FS-7383 #resolve --- libs/spandsp/src/make_at_dictionary.c | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/libs/spandsp/src/make_at_dictionary.c b/libs/spandsp/src/make_at_dictionary.c index 6259207368..a34dd6f3a3 100644 --- a/libs/spandsp/src/make_at_dictionary.c +++ b/libs/spandsp/src/make_at_dictionary.c @@ -605,6 +605,33 @@ static void dump_trie(void) } /*- End of function --------------------------------------------------------*/ + +static void trie_recursive_free(trie_node_t *t) +{ + int i; + if (t) + { + if (t->first <= t->last) + { + for (i = t->first; i <= t->last; i++) + trie_recursive_free(t->child_list[i]); + } + free(t); + } +} +/*- End of function --------------------------------------------------------*/ + +static void trie_free(trie_t *s) +{ + if(s) + { + if(s->root) + trie_recursive_free(s->root); + free(s); + } +} +/*- End of function --------------------------------------------------------*/ + int main(int argc, char *argv[]) { trie_t *s; @@ -627,6 +654,8 @@ int main(int argc, char *argv[]) trie_recursive_build_packed_trie(s->root); dump_trie(); + + trie_free(s); return 0; }