filter/audiod: Be nice to filters without close method.
authorAndre Noll <maan@systemlinux.org>
Tue, 12 Jan 2010 06:25:40 +0000 (07:25 +0100)
committerAndre Noll <maan@systemlinux.org>
Tue, 12 Jan 2010 06:25:40 +0000 (07:25 +0100)
audiod.c
filter.c

index 9bb40e073b885c88216054d322c5cf4dd950e23e..128f7b424828c4c1b5966912d32a931427accc51 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -381,7 +381,8 @@ static void close_filters(struct slot_info *s)
                if (!fn)
                        continue;
                f = filters + fn->filter_num;
                if (!fn)
                        continue;
                f = filters + fn->filter_num;
-               f->close(fn);
+               if (f->close)
+                       f->close(fn);
                btr_free_node(fn->btrn);
        }
        free(s->fns);
                btr_free_node(fn->btrn);
        }
        free(s->fns);
index bf428b36dbc7668ccd2ac139117c7eb8d7d73ec0..08398d591250013054efdc1cf0d192cb88a981e3 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -155,7 +155,8 @@ out_cleanup:
                struct filter_node *fn = fns[i];
 
                f = filters + fn->filter_num;
                struct filter_node *fn = fns[i];
 
                f = filters + fn->filter_num;
-               f->close(fn);
+               if (f->close)
+                       f->close(fn);
                btr_free_node(fn->btrn);
                free(fn->conf);
                free(fn);
                btr_free_node(fn->btrn);
                free(fn->conf);
                free(fn);