diff options
author | Tobias Brunner <tobias@strongswan.org> | 2017-05-15 17:51:19 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2017-05-26 13:56:44 +0200 |
commit | 8a2e4d4a8b87f5e8a5e5f663ee8eddd47988fa2c (patch) | |
tree | e2054396e993ee839052b87ee6fa27a6a0177a32 /src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c | |
parent | 5cafea6edd74432f0a3c38b2a0b94f1256ebf4cf (diff) | |
download | strongswan-8a2e4d4a8b87f5e8a5e5f663ee8eddd47988fa2c.tar.bz2 strongswan-8a2e4d4a8b87f5e8a5e5f663ee8eddd47988fa2c.tar.xz |
linked-list: Change interface of callback for invoke_function()
This avoids the unportable five pointer hack.
Diffstat (limited to 'src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c')
-rw-r--r-- | src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c index cb8b79963..dd62044b9 100644 --- a/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c +++ b/src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c @@ -1125,9 +1125,13 @@ static bool is_interface_up_and_usable(private_kernel_netlink_net_t *this, * * this->lock must be locked when calling this function */ -static void addr_entry_unregister(addr_entry_t *addr, iface_entry_t *iface, - private_kernel_netlink_net_t *this) +CALLBACK(addr_entry_unregister, void, + addr_entry_t *addr, va_list args) { + private_kernel_netlink_net_t *this; + iface_entry_t *iface; + + VA_ARGS_VGET(args, iface, this); if (addr->refcount) { addr_map_entry_remove(this->vips, addr, iface); @@ -1217,7 +1221,7 @@ static void process_link(private_kernel_netlink_net_t *this, * another interface? */ this->ifaces->remove_at(this->ifaces, enumerator); current->addrs->invoke_function(current->addrs, - (void*)addr_entry_unregister, current, this); + addr_entry_unregister, current, this); iface_entry_destroy(current); break; } |