]> git.mikk.net Git - liburl/commitdiff
Correct recursion in msgproc_finish, and add recursion to msgproc_start.
authorchris mikkelson <chris@mikk.net>
Sun, 28 Feb 2010 15:48:14 +0000 (09:48 -0600)
committerchris mikkelson <chris@mikk.net>
Sun, 28 Feb 2010 15:48:14 +0000 (09:48 -0600)
msgproc.c

index 6faeef3d696f68854cc90f4983ef19c388ee2813..3e8df723a2d0d61b54d804243101081858fe7d12 100644 (file)
--- 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