From: Jaroslav Kysela Date: Sat, 26 Jul 2014 13:16:13 +0000 (+0200) Subject: mpegts table destroy: move the data free calls to the release routine X-Git-Tag: v4.1~1747 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=52e5d7ff3fc231f8805d607ac61d09f9d3f9b4cc;p=thirdparty%2Ftvheadend.git mpegts table destroy: move the data free calls to the release routine --- diff --git a/src/input/mpegts/mpegts_table.c b/src/input/mpegts/mpegts_table.c index 4fea27c19..e9e73a5b8 100644 --- a/src/input/mpegts/mpegts_table.c +++ b/src/input/mpegts/mpegts_table.c @@ -107,6 +107,14 @@ mpegts_table_dispatch void mpegts_table_release_ ( mpegts_table_t *mt ) { + struct mpegts_table_state *st; + + while ((st = RB_FIRST(&mt->mt_state))) { + RB_REMOVE(&mt->mt_state, st, link); + free(st); + } + if (mt->mt_destroy) + mt->mt_destroy(mt); free(mt->mt_name); free(mt); } @@ -114,15 +122,8 @@ mpegts_table_release_ ( mpegts_table_t *mt ) void mpegts_table_destroy ( mpegts_table_t *mt ) { - struct mpegts_table_state *st; mt->mt_destroyed = 1; mt->mt_mux->mm_close_table(mt->mt_mux, mt); - while ((st = RB_FIRST(&mt->mt_state))) { - RB_REMOVE(&mt->mt_state, st, link); - free(st); - } - if (mt->mt_destroy) - mt->mt_destroy(mt); mpegts_table_release(mt); }