diff options
author | wollman <wollman@FreeBSD.org> | 1997-08-25 16:55:00 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1997-08-25 16:55:00 +0000 |
commit | 143b9973292699a6d3c7ec53201c660848be6a17 (patch) | |
tree | 30f6873d15e19e694f85dd1512720b959cfbc786 /usr.bin/netstat | |
parent | 3d60ca19b16a293f6a7fcd5cd8367d3b0a68a126 (diff) | |
download | FreeBSD-src-143b9973292699a6d3c7ec53201c660848be6a17.zip FreeBSD-src-143b9973292699a6d3c7ec53201c660848be6a17.tar.gz |
While I'm in here, fix address printing for `netstat -f unix' which has been
broken for a couple of weeks now...
Diffstat (limited to 'usr.bin/netstat')
-rw-r--r-- | usr.bin/netstat/unix.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/usr.bin/netstat/unix.c b/usr.bin/netstat/unix.c index a37da93..d31ce5f 100644 --- a/usr.bin/netstat/unix.c +++ b/usr.bin/netstat/unix.c @@ -36,7 +36,7 @@ static char sccsid[] = "@(#)unix.c 8.1 (Berkeley) 6/6/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: unix.c,v 1.4 1997/07/29 06:51:41 charnier Exp $"; #endif /* not lint */ /* @@ -106,19 +106,17 @@ unixdomainpr(so, soaddr) caddr_t soaddr; { struct unpcb unpcb, *unp = &unpcb; - struct mbuf mbuf, *m; - struct sockaddr_un *sa = NULL; + struct sockaddr_un s_un, *sa = NULL; static int first = 1; if (kread((u_long)so->so_pcb, (char *)unp, sizeof (*unp))) return; if (unp->unp_addr) { - m = &mbuf; - if (kread((u_long)unp->unp_addr, (char *)m, sizeof (*m))) - m = (struct mbuf *)0; - sa = (struct sockaddr_un *)(m->m_dat); + sa = &s_un; + if (kread((u_long)unp->unp_addr, (char *)sa, sizeof *sa)) + sa = (struct sockaddr_un *)0; } else - m = (struct mbuf *)0; + sa = (struct sockaddr_un *)0; if (first) { printf("Active UNIX domain sockets\n"); printf( @@ -131,9 +129,7 @@ unixdomainpr(so, soaddr) (int)soaddr, socktype[so->so_type], so->so_rcv.sb_cc, so->so_snd.sb_cc, (int)unp->unp_vnode, (int)unp->unp_conn, (int)unp->unp_refs, (int)unp->unp_nextref); - if (m) - printf(" %.*s", - m->m_len - (int)(sizeof(*sa) - sizeof(sa->sun_path)), - sa->sun_path); + if (sa) + printf(" %.*s", sa->sun_len, sa->sun_path); putchar('\n'); } |