[BACK]Return to getifaddrs.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / net

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/net/getifaddrs.c between version 1.14 and 1.15

version 1.14, 2011/02/04 02:01:12 version 1.15, 2012/03/13 21:13:40
Line 63  __weak_alias(freeifaddrs,_freeifaddrs)
Line 63  __weak_alias(freeifaddrs,_freeifaddrs)
 int  int
 getifaddrs(struct ifaddrs **pif)  getifaddrs(struct ifaddrs **pif)
 {  {
         int icnt = 1;          size_t icnt = 1;
         int dcnt = 0;          size_t dcnt = 0;
         int ncnt = 0;          size_t ncnt = 0;
         int mib[6];          static const int mib[] = {
                   CTL_NET,
                   PF_ROUTE,
                   0,                      /* protocol */
                   0,                      /* wildcard address family */
                   NET_RT_IFLIST,
                   0                       /* no flags */
           };
         size_t needed;          size_t needed;
         char *buf;          char *buf;
         char *next;          char *next;
Line 85  getifaddrs(struct ifaddrs **pif)
Line 92  getifaddrs(struct ifaddrs **pif)
   
         _DIAGASSERT(pif != NULL);          _DIAGASSERT(pif != NULL);
   
         mib[0] = CTL_NET;          if (sysctl(mib, (u_int)__arraycount(mib), NULL, &needed, NULL, 0) < 0)
         mib[1] = PF_ROUTE;  
         mib[2] = 0;             /* protocol */  
         mib[3] = 0;             /* wildcard address family */  
         mib[4] = NET_RT_IFLIST;  
         mib[5] = 0;             /* no flags */  
         if (sysctl(mib, __arraycount(mib), NULL, &needed, NULL, 0) < 0)  
                 return (-1);                  return (-1);
         if ((buf = malloc(needed)) == NULL)          if ((buf = malloc(needed)) == NULL)
                 return (-1);                  return (-1);
         if (sysctl(mib, __arraycount(mib), buf, &needed, NULL, 0) < 0) {          if (sysctl(mib, (u_int)__arraycount(mib), buf, &needed, NULL, 0) < 0) {
                 free(buf);                  free(buf);
                 return (-1);                  return (-1);
         }          }

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

CVSweb <webmaster@jp.NetBSD.org>