From bf92e47a5cd70a5b236b67fa70393f2aa163ee34 Mon Sep 17 00:00:00 2001 From: chris mikkelson Date: Sun, 28 Feb 2010 09:48:14 -0600 Subject: [PATCH] Correct recursion in msgproc_finish, and add recursion to msgproc_start. --- msgproc.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/msgproc.c b/msgproc.c index 6faeef3..3e8df72 100644 --- a/msgproc.c +++ b/msgproc.c @@ -71,8 +71,11 @@ msgproc_module_set(msgproc_module *m, int key, void *data, size_t dsiz) void msgproc_start(msgproc *m) { - if (m && m->mp_mod && m->mp_mod->mp_start) - m->mp_mod->mp_start(m); + if (m) { + msgproc_start(msgproc_next(m)); + if (m->mp_mod && m->mp_mod->mp_start) + m->mp_mod->mp_start(m); + } } void @@ -92,9 +95,11 @@ msgproc_process(msgproc *m, char *data, size_t size) void msgproc_finish(msgproc *m) { - msgproc_finish(msgproc_next(m)); - if (m && m->mp_mod && m->mp_mod->mp_finish) - m->mp_mod->mp_finish(m); + if (m) { + msgproc_finish(msgproc_next(m)); + if (m->mp_mod && m->mp_mod->mp_finish) + m->mp_mod->mp_finish(m); + } } void -- 2.50.1