summaryrefslogtreecommitdiffstats
path: root/contrib/tcpdump/addrtoname.c
diff options
context:
space:
mode:
authorpst <pst@FreeBSD.org>1996-08-19 21:33:43 +0000
committerpst <pst@FreeBSD.org>1996-08-19 21:33:43 +0000
commit2e90abeceef30ac51c437a1540ce62dbd9953628 (patch)
tree0dbccd57910423ac9b9512e2f54dece2bde088dd /contrib/tcpdump/addrtoname.c
parenta2db1903fd02344a1b5142476064c20b706905f9 (diff)
downloadFreeBSD-src-2e90abeceef30ac51c437a1540ce62dbd9953628.zip
FreeBSD-src-2e90abeceef30ac51c437a1540ce62dbd9953628.tar.gz
Handle IS-IS IIH messages and print NSAPs in canonical format.
Submitted by: Tony Li <tli@jnx.com>
Diffstat (limited to 'contrib/tcpdump/addrtoname.c')
-rw-r--r--contrib/tcpdump/addrtoname.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/tcpdump/addrtoname.c b/contrib/tcpdump/addrtoname.c
index af2a757..8bfc3c3 100644
--- a/contrib/tcpdump/addrtoname.c
+++ b/contrib/tcpdump/addrtoname.c
@@ -467,15 +467,16 @@ isonsap_string(const u_char *nsap)
if (tp->e_name)
return tp->e_name;
- tp->e_name = cp = (char *)malloc(nlen * 2 + 2);
+ tp->e_name = cp = (char *)malloc(nlen * 2 + 2 + (nlen>>1));
if (cp == NULL)
error("isonsap_string: malloc");
nsap++;
- *cp++ = '/';
- for (i = nlen; (int)--i >= 0;) {
+ for (i = 0; i < nlen; i++) {
*cp++ = hex[*nsap >> 4];
*cp++ = hex[*nsap++ & 0xf];
+ if (((i & 1) == 0) && (i + 1 < nlen))
+ *cp++ = '.';
}
*cp = '\0';
return (tp->e_name);
OpenPOWER on IntegriCloud