summaryrefslogtreecommitdiff
path: root/usr.bin/netstat/mroute.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-05-24 09:18:52 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-05-24 09:18:52 +0000
commit97903bd358992530d458fc14acf81f79b85c2061 (patch)
treead513831d23d240448365372bc5baff0b6591c7c /usr.bin/netstat/mroute.c
parent2356f80f0b2c081a1f1f8ba650a52de77ea8f346 (diff)
do not print a non-existant mfc
Diffstat (limited to 'usr.bin/netstat/mroute.c')
-rw-r--r--usr.bin/netstat/mroute.c50
1 files changed, 26 insertions, 24 deletions
diff --git a/usr.bin/netstat/mroute.c b/usr.bin/netstat/mroute.c
index a398f6858dd..1d00b3dc6db 100644
--- a/usr.bin/netstat/mroute.c
+++ b/usr.bin/netstat/mroute.c
@@ -1,4 +1,4 @@
-/* $NetBSD: mroute.c,v 1.9 1995/10/03 21:42:42 thorpej Exp $ */
+/* $NetBSD: mroute.c,v 1.10 1996/05/11 13:51:27 mycroft Exp $ */
/*
* Copyright (c) 1989 Stephen Deering
@@ -167,31 +167,33 @@ mroutepr(mrpaddr, mfchashtbladdr, mfchashaddr, vifaddr)
banner_printed = 0;
nmfc = 0;
- for (i = 0; i <= mfchash; ++i) {
- kread((u_long)&mfchashtbl[i], (char *)&mfcp, sizeof(mfcp));
-
- for (; mfcp != 0; mfcp = mfc.mfc_hash.le_next) {
- if (!banner_printed) {
- printf("\nMulticast Forwarding Cache\n %s%s",
- "Hash Origin Mcastgroup ",
- "Traffic In-Vif Out-Vifs/Forw-ttl\n");
- banner_printed = 1;
+ if (mfchashtbl != 0)
+ for (i = 0; i <= mfchash; ++i) {
+ kread((u_long)&mfchashtbl[i], (char *)&mfcp, sizeof(mfcp));
+
+ for (; mfcp != 0; mfcp = mfc.mfc_hash.le_next) {
+ if (!banner_printed) {
+ printf("\nMulticast Forwarding Cache\n %s%s",
+ "Hash Origin Mcastgroup ",
+ "Traffic In-Vif Out-Vifs/Forw-ttl\n");
+ banner_printed = 1;
+ }
+
+ kread((u_long)mfcp, (char *)&mfc, sizeof(mfc));
+ printf(" %3u %-15.15s",
+ i, routename(mfc.mfc_origin.s_addr));
+ printf(" %-15.15s %7s %3u ",
+ routename(mfc.mfc_mcastgrp.s_addr),
+ pktscale(mfc.mfc_pkt_cnt), mfc.mfc_parent);
+ for (vifi = 0; vifi <= numvifs; ++vifi)
+ if (mfc.mfc_ttls[vifi])
+ printf(" %u/%u", vifi,
+ mfc.mfc_ttls[vifi]);
+
+ printf("\n");
+ nmfc++;
}
-
- kread((u_long)mfcp, (char *)&mfc, sizeof(mfc));
- printf(" %3u %-15.15s",
- i, routename(mfc.mfc_origin.s_addr));
- printf(" %-15.15s %7s %3u ",
- routename(mfc.mfc_mcastgrp.s_addr),
- pktscale(mfc.mfc_pkt_cnt), mfc.mfc_parent);
- for (vifi = 0; vifi <= numvifs; ++vifi)
- if (mfc.mfc_ttls[vifi])
- printf(" %u/%u", vifi, mfc.mfc_ttls[vifi]);
-
- printf("\n");
- nmfc++;
}
- }
if (!banner_printed)
printf("\nMulticast Forwarding Cache is empty\n");
else