Grab cleanups and fixes.
[paraslash.git] / audiod_command.c
index 0428bea16b891d64a488e8f322f49287154d2e1d..b4c50dc86118a6d9f3c756f7d6b2c40a87c34ca9 100644 (file)
@@ -279,8 +279,7 @@ out:
 
 static struct filter_node *find_filter_node(int slot_num, int format, int filternum)
 {
 
 static struct filter_node *find_filter_node(int slot_num, int format, int filternum)
 {
-       struct filter_node *fn;
-       int i, j;
+       int i;
 
        FOR_EACH_SLOT(i) {
                struct slot_info *s = &slot[i];
 
        FOR_EACH_SLOT(i) {
                struct slot_info *s = &slot[i];
@@ -290,15 +289,10 @@ static struct filter_node *find_filter_node(int slot_num, int format, int filter
                        continue;
                if (format >= 0 && s->format != format)
                        continue;
                        continue;
                if (format >= 0 && s->format != format)
                        continue;
-               if (num_filters(i) < filternum)
+               if (num_filters(i) <= filternum)
                        continue;
                /* success */
                        continue;
                /* success */
-               j = 1;
-               FOR_EACH_FILTER_NODE(fn, s->fc, j) {
-                       if (filternum <= 0 || j++ == filternum)
-                               break;
-               }
-               return fn;
+               return  s->fc->filter_nodes + filternum;
        }
        return NULL;
 }
        }
        return NULL;
 }