Author: hrs
Date: Wed May 21 10:04:51 2014
New Revision: 266494
URL: http://svnweb.freebsd.org/changeset/base/266494

Log:
  - Fix a bug which can make sysctl() fail when -F is specified.
  - Increase WID_IF_DEFAULT() from 6 to 8 (the default for AF_INET6) because
    we have interfaces with longer names than 6 chars like epairN{a,b}.
  - Style fixes.

Modified:
  head/usr.bin/netstat/route.c

Modified: head/usr.bin/netstat/route.c
==============================================================================
--- head/usr.bin/netstat/route.c        Wed May 21 09:26:02 2014        
(r266493)
+++ head/usr.bin/netstat/route.c        Wed May 21 10:04:51 2014        
(r266494)
@@ -230,13 +230,13 @@ pr_family(int af1)
 #ifndef INET6
 #define        WID_DST_DEFAULT(af)     18      /* width of destination column 
*/
 #define        WID_GW_DEFAULT(af)      18      /* width of gateway column */
-#define        WID_IF_DEFAULT(af)      (Wflag ? 8 : 6) /* width of netif 
column */
+#define        WID_IF_DEFAULT(af)      (Wflag ? 10 : 8) /* width of netif 
column */
 #else
 #define        WID_DST_DEFAULT(af) \
        ((af) == AF_INET6 ? (numeric_addr ? 33: 18) : 18)
 #define        WID_GW_DEFAULT(af) \
        ((af) == AF_INET6 ? (numeric_addr ? 29 : 18) : 18)
-#define        WID_IF_DEFAULT(af)      ((af) == AF_INET6 ? 8 : (Wflag ? 8 : 6))
+#define        WID_IF_DEFAULT(af)      ((af) == AF_INET6 ? 8 : (Wflag ? 10 : 
8))
 #endif /*INET6*/
 
 static int wid_dst;
@@ -586,17 +586,13 @@ p_rtable_sysctl(int fibnum, int af)
        mib[4] = NET_RT_DUMP;
        mib[5] = 0;
        mib[6] = fibnum;
-       if (sysctl(mib, nitems(mib), NULL, &needed, NULL, 0) < 0) {
+       if (sysctl(mib, nitems(mib), NULL, &needed, NULL, 0) < 0)
                err(EX_OSERR, "sysctl: net.route.0.%d.dump.%d estimate", af,
                    fibnum);
-       }
-
-       if ((buf = malloc(needed)) == 0) {
+       if ((buf = malloc(needed)) == NULL)
                errx(2, "malloc(%lu)", (unsigned long)needed);
-       }
-       if (sysctl(mib, 6, buf, &needed, NULL, 0) < 0) {
+       if (sysctl(mib, nitems(mib), buf, &needed, NULL, 0) < 0)
                err(1, "sysctl: net.route.0.%d.dump.%d", af, fibnum);
-       }
        lim  = buf + needed;
        for (next = buf; next < lim; next += rtm->rtm_msglen) {
                rtm = (struct rt_msghdr *)next;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to