diff options
author | Xin LI <delphij@FreeBSD.org> | 2011-01-08 01:57:23 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2011-01-08 01:57:23 +0000 |
commit | 97f8d6550307db812cf9a36ee1463ad5f515932f (patch) | |
tree | e16de32caf19622d724fb8da5beaaa06eb0bed6d /usr.sbin | |
parent | 7b2638182fdd16ef6c08f9150e5258bec8d86fd4 (diff) |
Use ether_ntoa instead of home-grown version.
Noticed by: Boris Kochergin <spawk acm poly edu>
Notes
Notes:
svn path=/head/; revision=217140
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/ndp/ndp.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 6926a2756764..1f62230cffcb 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -153,7 +153,6 @@ static void getdefif(void); static void setdefif(char *); #endif static char *sec2str(time_t); -static char *ether_str(struct sockaddr_dl *); static void ts_print(const struct timeval *); #ifdef ICMPV6CTL_ND6_DRLIST @@ -820,17 +819,14 @@ getnbrinfo(addr, ifindex, warning) } static char * -ether_str(sdl) - struct sockaddr_dl *sdl; +ether_str(struct sockaddr_dl *sdl) { static char hbuf[NI_MAXHOST]; - u_char *cp; - if (sdl->sdl_alen) { - cp = (u_char *)LLADDR(sdl); - snprintf(hbuf, sizeof(hbuf), "%x:%x:%x:%x:%x:%x", - cp[0], cp[1], cp[2], cp[3], cp[4], cp[5]); - } else + if (sdl->sdl_alen > 0) + strlcpy(hbuf, ether_ntoa((struct ether_addr *)LLADDR(sdl)), + sizeof(hbuf)); + else snprintf(hbuf, sizeof(hbuf), "(incomplete)"); return(hbuf); |