From 3c79bf953d8aa5c16bc3c06a80ce97213f690431 Mon Sep 17 00:00:00 2001 From: itojun Date: Wed, 23 Feb 2000 15:13:50 +0000 Subject: [PATCH] bring in freeifaddrs. from: dab@bsdi.com --- kame/include/ifaddrs.h | 3 ++- kame/kame/libinet6/getifaddrs.3 | 7 ++++--- kame/kame/libinet6/getifaddrs.c | 8 +++++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/kame/include/ifaddrs.h b/kame/include/ifaddrs.h index 51c06f90f1..b57fc33419 100644 --- a/kame/include/ifaddrs.h +++ b/kame/include/ifaddrs.h @@ -20,7 +20,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * BSDI ifaddrs.h,v 2.4 1999/03/15 20:59:28 jch Exp + * BSDI ifaddrs.h,v 2.5 2000/02/23 14:51:59 dab Exp */ #ifndef _IFADDRS_H_ @@ -48,6 +48,7 @@ struct ifaddrs { __BEGIN_DECLS extern int getifaddrs __P((struct ifaddrs **)); +extern void freeifaddrs __P((struct ifaddrs *)); __END_DECLS #endif diff --git a/kame/kame/libinet6/getifaddrs.3 b/kame/kame/libinet6/getifaddrs.3 index e7750536ff..c46f361aae 100644 --- a/kame/kame/libinet6/getifaddrs.3 +++ b/kame/kame/libinet6/getifaddrs.3 @@ -1,4 +1,4 @@ -.\" BSDI getifaddrs.3,v 2.4 1999/03/15 20:57:20 jch Exp +.\" BSDI getifaddrs.3,v 2.5 2000/02/23 14:51:59 dab Exp .\" .\" Copyright (c) 1995, 1999 .\" Berkeley Software Design, Inc. All rights reserved. @@ -31,6 +31,8 @@ .Fd #include .Ft int .Fn getifaddrs "struct ifaddrs **ifap" +.Ft void +.Fn freeifaddrs "struct ifaddrs *ifp" .Sh DESCRIPTION The .Fn getifaddrs @@ -119,8 +121,7 @@ which contains per-address interface statistics. The data returned by .Fn getifaddrs is dynamically allocated and should be freed using -.Fn free -.Pq see Xr free 3 +.Fn freeifaddrs when no longer needed. .Sh RETURN VALUES Upon successful completion, a value of 0 is returned. diff --git a/kame/kame/libinet6/getifaddrs.c b/kame/kame/libinet6/getifaddrs.c index bf77b9df0c..f602937f39 100644 --- a/kame/kame/libinet6/getifaddrs.c +++ b/kame/kame/libinet6/getifaddrs.c @@ -20,7 +20,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * BSDI getifaddrs.c,v 2.11 1999/03/15 20:57:20 jch Exp + * BSDI getifaddrs.c,v 2.12 2000/02/23 14:51:59 dab Exp */ /* * NOTE: SIOCGIFCONF case is not LP64 friendly. it also does not perform @@ -364,6 +364,12 @@ getifaddrs(struct ifaddrs **pif) ift->ifa_next = NULL; *pif = ifa; } else { +} + +void +freeifaddrs(struct ifaddrs *ifp) +{ + free(ifp); *pif = NULL; free(ifa); }