From owner-svn-src-head@freebsd.org Tue Dec 1 16:13:45 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2B84BA3DFF4; Tue, 1 Dec 2015 16:13:45 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from mr11p00im-asmtp002.me.com (mr11p00im-asmtp002.me.com [17.110.69.253]) (using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 12E2E160C; Tue, 1 Dec 2015 16:13:45 +0000 (UTC) (envelope-from rpokala@mac.com) Received: from [192.168.1.4] (c-24-6-178-251.hsd1.ca.comcast.net [24.6.178.251]) by mr11p00im-asmtp002.me.com (Oracle Communications Messaging Server 7.0.5.35.0 64bit (built Mar 31 2015)) with ESMTPSA id <0NYO00B1GT2U5O20@mr11p00im-asmtp002.me.com>; Tue, 01 Dec 2015 16:13:44 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2015-12-01_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 kscore.is_bulkscore=0 kscore.compositescore=1 compositescore=0.9 suspectscore=0 phishscore=0 bulkscore=0 kscore.is_spamscore=0 rbsscore=0 spamscore=0 urlsuspectscore=0.9 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1510090000 definitions=main-1512010258 User-Agent: Microsoft-MacOutlook/0.0.0.151105 Date: Tue, 01 Dec 2015 08:13:41 -0800 Subject: Re: svn commit: r291592 - head/usr.bin/netstat From: Ravi Pokala Sender: "Pokala, Ravi" To: Hajimu UMEMOTO , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Message-id: <319A5F79-53CD-40A1-9076-CF3EF33858A9@panasas.com> Thread-topic: svn commit: r291592 - head/usr.bin/netstat References: <201512011604.tB1G4pHa000698@repo.freebsd.org> In-reply-to: <201512011604.tB1G4pHa000698@repo.freebsd.org> MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Dec 2015 16:13:45 -0000 Hi ume, The value returned by p_sockaddr("destination", ...) is saved to "protrusion", but it is never used before it is overwritten by the value returned by p_sockaddr("gateway", ...). That doesn't seem right. Thanks, Ravi (rpokala@) -----Original Message----- From: on behalf of Hajimu UMEMOTO Date: 2015-12-01, Tuesday at 08:04 To: , , Subject: svn commit: r291592 - head/usr.bin/netstat >Author: ume >Date: Tue Dec 1 16:04:50 2015 >New Revision: 291592 >URL: https://svnweb.freebsd.org/changeset/base/291592 > >Log: > At the time a destination or a gateway of `netstat -r' > protrudes its field, narrow the next field to raise > readability bit. > >Modified: > head/usr.bin/netstat/route.c > >Modified: head/usr.bin/netstat/route.c >============================================================================== >--- head/usr.bin/netstat/route.c Tue Dec 1 15:55:20 2015 (r291591) >+++ head/usr.bin/netstat/route.c Tue Dec 1 16:04:50 2015 (r291592) >@@ -107,7 +107,7 @@ static const char *netname4(in_addr_t, i > static const char *netname6(struct sockaddr_in6 *, struct sockaddr_in6 *); > static void p_rtable_sysctl(int, int); > static void p_rtentry_sysctl(const char *name, struct rt_msghdr *); >-static void p_sockaddr(const char *name, struct sockaddr *, struct sockaddr *, >+static int p_sockaddr(const char *name, struct sockaddr *, struct sockaddr *, > int, int); > static const char *fmt_sockaddr(struct sockaddr *sa, struct sockaddr *mask, > int flags); >@@ -352,7 +352,7 @@ p_rtentry_sysctl(const char *name, struc > struct sockaddr *sa, *addr[RTAX_MAX]; > char buffer[128]; > char prettyname[128]; >- int i; >+ int i, protrusion; > > xo_open_instance(name); > sa = (struct sockaddr *)(rtm + 1); >@@ -362,11 +362,13 @@ p_rtentry_sysctl(const char *name, struc > sa = (struct sockaddr *)((char *)sa + SA_SIZE(sa)); > } > >- p_sockaddr("destination", addr[RTAX_DST], addr[RTAX_NETMASK], >+ protrusion = p_sockaddr("destination", addr[RTAX_DST], >+ addr[RTAX_NETMASK], > rtm->rtm_flags, wid_dst); >- p_sockaddr("gateway", addr[RTAX_GATEWAY], NULL, RTF_HOST, wid_gw); >+ protrusion = p_sockaddr("gateway", addr[RTAX_GATEWAY], NULL, RTF_HOST, >+ wid_gw - protrusion); > snprintf(buffer, sizeof(buffer), "{[:-%d}{:flags/%%s}{]:} ", >- wid_flags); >+ wid_flags - protrusion); > p_flags(rtm->rtm_flags, buffer); > if (Wflag) { > xo_emit("{t:use/%*lu} ", wid_pksent, rtm->rtm_rmx.rmx_pksent); >@@ -402,12 +404,13 @@ p_rtentry_sysctl(const char *name, struc > xo_close_instance(name); > } > >-static void >+static int > p_sockaddr(const char *name, struct sockaddr *sa, struct sockaddr *mask, > int flags, int width) > { > const char *cp; > char buf[128]; >+ int protrusion; > > cp = fmt_sockaddr(sa, mask, flags); > >@@ -419,12 +422,17 @@ p_sockaddr(const char *name, struct sock > snprintf(buf, sizeof(buf), "{[:%d}{:%s/%%s}{]:} ", > -width, name); > xo_emit(buf, cp); >+ protrusion = strlen(cp) - width; >+ if (protrusion < 0) >+ protrusion = 0; > } else { > snprintf(buf, sizeof(buf), "{[:%d}{:%s/%%-.*s}{]:} ", > -width, name); > xo_emit(buf, width, cp); >+ protrusion = 0; > } > } >+ return (protrusion); > } > > static const char * >