summaryrefslogtreecommitdiffstats
path: root/usr.bin/netstat
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2002-04-06 10:02:20 +0000
committerru <ru@FreeBSD.org>2002-04-06 10:02:20 +0000
commit17619c9cd42f554a44df1c76e985955fef1d28c0 (patch)
tree9ed7330cbd1d9261225d76931e0218c042c178ea /usr.bin/netstat
parentc711dcdf854f5027e7badfc1855bf52674952458 (diff)
downloadFreeBSD-src-17619c9cd42f554a44df1c76e985955fef1d28c0.zip
FreeBSD-src-17619c9cd42f554a44df1c76e985955fef1d28c0.tar.gz
Print IFT_ETHER addresses with ether_ntoa(3) (with leading zeros).
Diffstat (limited to 'usr.bin/netstat')
-rw-r--r--usr.bin/netstat/route.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/usr.bin/netstat/route.c b/usr.bin/netstat/route.c
index 7175977..8782238 100644
--- a/usr.bin/netstat/route.c
+++ b/usr.bin/netstat/route.c
@@ -44,6 +44,7 @@ static const char rcsid[] =
#include <sys/socket.h>
#include <sys/time.h>
+#include <net/ethernet.h>
#include <net/if.h>
#include <net/if_var.h>
#include <net/if_dl.h>
@@ -513,20 +514,12 @@ p_sockaddr(struct sockaddr *sa, struct sockaddr *mask, int flags, int width)
switch (sdl->sdl_type) {
case IFT_ETHER:
- {
- register int i;
- register u_char *lla = (u_char *)sdl->sdl_data +
- sdl->sdl_nlen;
-
- cplim = "";
- for (i = 0; i < sdl->sdl_alen; i++, lla++) {
- cp += sprintf(cp, "%s%x", cplim, *lla);
- cplim = ":";
+ if (sdl->sdl_alen == ETHER_ADDR_LEN) {
+ cp = ether_ntoa((struct ether_addr *)
+ sdl->sdl_data + sdl->sdl_nlen);
+ break;
}
- cp = workbuf;
- break;
- }
-
+ /* FALLTHROUGH */
default:
cp = link_ntoa(sdl);
break;
OpenPOWER on IntegriCloud