/*
- * Copyright (C) 2005-2007 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2008 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
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];
continue;
if (format >= 0 && s->format != format)
continue;
- if (num_filters(i) < filternum)
+ if (num_filters(i) <= filternum)
continue;
/* success */
- j = 1;
- list_for_each_entry(fn, &s->fc->filters, node)
- if (filternum <= 0 || j++ == filternum)
- break;
- return fn;
+ return s->fc->filter_nodes + filternum;
}
return NULL;
}