From: chris mikkelson Date: Sun, 28 Feb 2010 15:48:14 +0000 (-0600) Subject: Correct recursion in msgproc_finish, and add recursion to msgproc_start. X-Git-Url: https://git.mikk.net/?a=commitdiff_plain;h=bf92e47a5cd70a5b236b67fa70393f2aa163ee34;p=liburl Correct recursion in msgproc_finish, and add recursion to msgproc_start. --- 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