summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2007-07-19 17:13:40 +0000
committer/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2007-07-19 17:13:40 +0000
commit0b8d66289f7e96c449bb88e7ec20a5860fba18ee (patch)
tree60a07f1fab84453afd86aa43b3052fb0b94efd3d
parent9479a701b5185f5f5ad4ddf14ac37b847aa979dd (diff)
- simplify cache_flush function: use cache_del()
-rw-r--r--ChangeLog1
-rw-r--r--src/cache_iterators.c13
2 files changed, 2 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 4008415..82d5947 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,7 @@ o simplify debugging functions: use nfct_snprintf instead
o remove major use of libnfnetlink functions: use libnetfilter_conntrack API
o deprecate conntrackd -F, use conntrack -F instead
o major rework of the network infrastructure: much simple, less messy
+o simplify cache_flush function: use cache_del()
= conntrack =
o better protocol argument checkings
diff --git a/src/cache_iterators.c b/src/cache_iterators.c
index 1d1b2e8..36f7364 100644
--- a/src/cache_iterators.c
+++ b/src/cache_iterators.c
@@ -148,18 +148,8 @@ static int do_flush(void *data1, void *data2)
{
struct cache *c = data1;
struct us_conntrack *u = data2;
- void *data = u->data;
- int i;
-
- for (i = 0; i < c->num_features; i++) {
- c->features[i]->destroy(u, data);
- data += c->features[i]->size;
- }
-
- if (c->extra && c->extra->destroy)
- c->extra->destroy(u, ((void *) u) + c->extra_offset);
- free(u->ct);
+ cache_del(c, u->ct);
return 0;
}
@@ -167,6 +157,5 @@ static int do_flush(void *data1, void *data2)
void cache_flush(struct cache *c)
{
hashtable_iterate(c->h, c, do_flush);
- hashtable_flush(c->h);
c->flush++;
}