From b670e89ac2571f5e8f12c2b1f819f9144c1b1ded Mon Sep 17 00:00:00 2001 From: Hajimu UMEMOTO Date: Fri, 6 Nov 2015 14:50:23 +0000 Subject: [PATCH] Do not truncate addresses when printing in encoded format. --- usr.bin/netstat/if.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/usr.bin/netstat/if.c b/usr.bin/netstat/if.c index b8272320d09b..f2f689d673cc 100644 --- a/usr.bin/netstat/if.c +++ b/usr.bin/netstat/if.c @@ -324,6 +324,7 @@ intpr(void (*pfunc)(char *), int af) for (ifa = ifap; ifa; ifa = ifa->ifa_next) { bool network = false, link = false; char *name, *xname, buf[IFNAMSIZ+1]; + const char *nn, *rn; if (interface != NULL && strcmp(ifa->ifa_name, interface) != 0) continue; @@ -375,18 +376,18 @@ intpr(void (*pfunc)(char *), int af) #ifdef INET6 case AF_INET6: #endif /* INET6 */ + nn = netname(ifa->ifa_addr, ifa->ifa_netmask); + rn = routename(ifa->ifa_addr, numeric_addr); if (Wflag) { - xo_emit("{t:network/%-*s} ", net_len, - netname(ifa->ifa_addr, ifa->ifa_netmask)); - xo_emit("{t:address/%-*s} ", addr_len, - routename(ifa->ifa_addr, numeric_addr)); + xo_emit("{et:network/%s}{d:/%-*s} ", + nn, net_len, nn); + xo_emit("{et:address/%s}{d:/%-*s} ", + rn, addr_len, rn); } else { - xo_emit("{t:network/%-*.*s} ", - net_len, net_len, - netname(ifa->ifa_addr, ifa->ifa_netmask)); - xo_emit("{t:address/%-*.*s} ", - addr_len, addr_len, - routename(ifa->ifa_addr, numeric_addr)); + xo_emit("{et:network/%s}{d:/%-*.*s} ", + nn, net_len, net_len, nn); + xo_emit("{et:address/%s}{d:/%-*.*s} ", + rn, addr_len, addr_len, rn); } network = true;