aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sbin/ipfw/tables.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sbin/ipfw/tables.c b/sbin/ipfw/tables.c
index 6f41de337c056..ede93f4fa9c89 100644
--- a/sbin/ipfw/tables.c
+++ b/sbin/ipfw/tables.c
@@ -1628,18 +1628,19 @@ tables_foreach(table_cb_t *f, void *arg, int sort)
}
if (sort != 0)
- qsort(olh + 1, olh->count, olh->objsize, tablename_cmp);
+ qsort(olh + 1, olh->count, olh->objsize,
+ tablename_cmp);
info = (ipfw_xtable_info *)(olh + 1);
for (i = 0; i < olh->count; i++) {
- error = f(info, arg); /* Ignore errors for now */
- info = (ipfw_xtable_info *)((caddr_t)info + olh->objsize);
+ if (co.use_set == 0 || info->set == co.use_set - 1)
+ error = f(info, arg);
+ info = (ipfw_xtable_info *)((caddr_t)info +
+ olh->objsize);
}
-
free(olh);
break;
}
-
return (0);
}