Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 06 Jan 2000 21:02:55 +0900
From:      Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
To:        syssgm@detir.qld.gov.au
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: Small fix to netstat argument processing
Message-ID:  <20000106210255C.shin@nd.net.fujitsu.co.jp>
In-Reply-To: <200001061006.UAA21698@nymph.detir.qld.gov.au>
References:  <200001061006.UAA21698@nymph.detir.qld.gov.au>

next in thread | previous in thread | raw e-mail | index | archive | help
> Hmm, I've just noticed some small misalignment of column headings in the
> default output.  I'll fix that too.
> 
> Stephen.

I also noticed that my another IPv6 related change is one of
main cause of the misalignment.
So I also tried to make patches for it, including
"netstat -f inet -i" issue.

Does these patches fix your problem, or should another better
fix is desired? Please give me any opinions.

Yoshinobu Inoue


Index: inet.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/netstat/inet.c,v
retrieving revision 1.36
diff -u -r1.36 inet.c
--- inet.c	1999/12/13 20:08:43	1.36
+++ inet.c	2000/01/06 11:57:57
@@ -219,7 +219,7 @@
 			if (Aflag)
 				printf("%-8.8s ", "Socket");
 			if (Lflag)
-				printf("%-14.14s %-21.21s\n",
+				printf("%-14.14s %-22.22s\n",
 					"Listen", "Local Address");
 			else
 				printf(Aflag ?
@@ -245,15 +245,22 @@
 				printf("%-14.14s ", buf);
 			} else
 				continue;
-		else
-			printf("%-3.3s%s%s %6ld %6ld ", name,
-			       (inp->inp_vflag & INP_IPV4) ? "4" : "",
+		else {
+			const u_char *vchar;
+
 #ifdef INET6
-			       (inp->inp_vflag & INP_IPV6) ? "6" :
+			if ((inp->inp_vflag & INP_IPV6) != 0)
+				vchar = ((inp->inp_vflag & INP_IPV4) != 0)
+					? "46" : "6 ";
+			else
 #endif
-			       "",
+			vchar = ((inp->inp_vflag & INP_IPV4) != 0)
+					? "4 " : "  ";
+
+			printf("%-3.3s%-2.2s %6ld %6ld  ", name, vchar,
 			       so->so_rcv.sb_cc,
 			       so->so_snd.sb_cc);
+		}
 		if (nflag) {
 			if (inp->inp_vflag & INP_IPV4) {
 				inetprint(&inp->inp_laddr, (int)inp->inp_lport,
@@ -801,7 +808,7 @@
 	else
 		sprintf(cp, "%d", ntohs((u_short)port));
 	width = Aflag ? 18 : 22;
-	printf(" %-*.*s", width, width, line);
+	printf("%-*.*s ", width, width, line);
 }
 
 /*
Index: inet6.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/netstat/inet6.c,v
retrieving revision 1.2
diff -u -r1.2 inet6.c
--- inet6.c	1999/12/28 02:37:01	1.2
+++ inet6.c	2000/01/06 11:57:57
@@ -904,7 +904,7 @@
 	else
 		sprintf(cp, "%d", ntohs((u_short)port));
 	width = lflag ? 45 : Aflag ? 18 : 22;
-	printf(" %-*.*s", width, width, line);
+	printf("%-*.*s ", width, width, line);
 }
 
 /*
Index: main.c
===================================================================
RCS file: /home/ncvs/src/usr.bin/netstat/main.c,v
retrieving revision 1.31
diff -u -r1.31 main.c
--- main.c	1999/12/28 02:37:01	1.31
+++ main.c	2000/01/06 11:57:57
@@ -460,7 +460,7 @@
 	 */
 #endif
 	if (iflag) {
-		if (af != AF_UNSPEC)
+		if (sflag && af != AF_UNSPEC)
 			goto protostat;
 
 		kread(0, 0, 0);


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000106210255C.shin>