summaryrefslogtreecommitdiffstats
path: root/usr.bin/netstat/unix.c
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1997-08-25 16:55:00 +0000
committerwollman <wollman@FreeBSD.org>1997-08-25 16:55:00 +0000
commit143b9973292699a6d3c7ec53201c660848be6a17 (patch)
tree30f6873d15e19e694f85dd1512720b959cfbc786 /usr.bin/netstat/unix.c
parent3d60ca19b16a293f6a7fcd5cd8367d3b0a68a126 (diff)
downloadFreeBSD-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/unix.c')
-rw-r--r--usr.bin/netstat/unix.c20
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');
}
OpenPOWER on IntegriCloud