aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Eckenfels <net-tools@lina.inka.de>2008-10-03 01:06:33 +0000
committerBernd Eckenfels <net-tools@lina.inka.de>2008-10-03 01:06:33 +0000
commit2e572c25d3b1f27105cc3ae3968d6809c51fabc3 (patch)
tree8de531a3e005956e219bdb046cc8cdf26681420f
parentEnable netstat -s for IPv6 (Debian Bug #453859 from Varun Chandramohan) (diff)
downloadnet-tools-2e572c25d3b1f27105cc3ae3968d6809c51fabc3.tar.gz
net-tools-2e572c25d3b1f27105cc3ae3968d6809c51fabc3.tar.bz2
net-tools-2e572c25d3b1f27105cc3ae3968d6809c51fabc3.zip
Support netstat -s with -6tuw options (incl. usage())
-rw-r--r--netstat.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/netstat.c b/netstat.c
index 6219e51..cfc1fbe 100644
--- a/netstat.c
+++ b/netstat.c
@@ -6,7 +6,7 @@
* NET-3 Networking Distribution for the LINUX operating
* system.
*
- * Version: $Id: netstat.c,v 1.57 2008/10/03 00:05:20 ecki Exp $
+ * Version: $Id: netstat.c,v 1.58 2008/10/03 01:06:33 ecki Exp $
*
* Authors: Fred Baumgarten, <dc6iq@insu1.etec.uni-karlsruhe.de>
* Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
@@ -1507,7 +1507,7 @@ static void usage(void)
{
fprintf(stderr, _("usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}\n"));
fprintf(stderr, _(" netstat [-vnNcaeol] [<Socket> ...]\n"));
- fprintf(stderr, _(" netstat { [-veenNac] -i | [-cnNe] -M | -s }\n\n"));
+ fprintf(stderr, _(" netstat { [-veenNac] -i | [-cnNe] -M | -s [-6tuw] }\n\n"));
fprintf(stderr, _(" -r, --route display routing table\n"));
fprintf(stderr, _(" -i, --interfaces display interface table\n"));
@@ -1718,35 +1718,35 @@ int main
sleep(1);
}
#else
- ENOSUPP("netstat.c", "FW_MASQUERADE");
+ ENOSUPP("netstat", "FW_MASQUERADE");
i = -1;
#endif
return (i);
}
if (flag_sta) {
- char *tmp1, *tmp2;
- char buf[256];
- if (!afname[0]) {
+ if (!afname[0])
+ strcpy(afname, DFLT_AF);
+
+ if (!strcmp(afname, "inet")) {
+#if HAVE_AFINET
inittab();
parsesnmp(flag_raw, flag_tcp, flag_udp);
- } else {
- safe_strncpy(buf, afname, sizeof(buf));
- tmp1 = buf;
- if ((tmp2 = index(tmp1, ',')))
- printf("Multiple interface\n");
- else if(!strncmp(buf,"inet6",5)) {
+#else
+ ENOSUPP("netstat", "AF INET");
+#endif
+ } else if(!strcmp(afname, "inet6")) {
#if HAVE_AFINET6
- inittab6();
- parsesnmp6(flag_raw, flag_tcp, flag_udp);
+ inittab6();
+ parsesnmp6(flag_raw, flag_tcp, flag_udp);
#else
- printf("Address type not supported for stats\n");
+ ENOSUPP("netstat", "AF INET6");
#endif
- }
- else
- printf("Address type not supported for stats\n");
+ } else {
+ printf(_("netstat: No statistics support for specified address family: %s\n"), afname);
+ exit(1);
}
- exit(1);
+ exit(0);
}
if (flag_rou) {