diff options
author | ru <ru@FreeBSD.org> | 2002-04-06 10:02:20 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2002-04-06 10:02:20 +0000 |
commit | 17619c9cd42f554a44df1c76e985955fef1d28c0 (patch) | |
tree | 9ed7330cbd1d9261225d76931e0218c042c178ea /usr.bin/netstat | |
parent | c711dcdf854f5027e7badfc1855bf52674952458 (diff) | |
download | FreeBSD-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.c | 19 |
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; |