]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - fecdec_filter.c
fecdec_filter: Simplify clear_group().
[paraslash.git] / fecdec_filter.c
index 8ccc2ee2b344371e369e0c2df5c792616f5d2374..195dbaae1814d08316df54cf0597c914c6c1abd9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2009-2010 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -102,18 +102,11 @@ static void clear_group(struct fecdec_group *fg)
 {
        int i;
 
-       for (i = 0; i < fg->num_slices; i++) {
+       for (i = 0; i < fg->num_slices; i++)
                free(fg->data[i]);
-               fg->data[i] = NULL;
-               fg->idx[i] = -1;
-       }
        free(fg->data);
-       fg->data = NULL;
        free(fg->idx);
-       fg->idx = NULL;
-       fg->num_slices = 0;
-       memset(&fg->h, 0, sizeof(struct fec_header));
-       fg->num_received_slices = 0;
+       memset(fg, 0, sizeof(*fg));
 }
 
 static int find_group(struct fec_header *h,
@@ -431,6 +424,7 @@ static void fecdec_close(struct filter_node *fn)
        FOR_EACH_FECDEC_GROUP(fg, pfd)
                clear_group(fg);
        fec_free(pfd->fec);
+       btr_pool_free(pfd->btrp);
        free(fn->private_data);
        fn->private_data = NULL;
 }