aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ifconfig.c22
-rw-r--r--interface.c9
-rw-r--r--networking/ifconfig.c22
3 files changed, 33 insertions, 20 deletions
diff --git a/ifconfig.c b/ifconfig.c
index daf189458..95dda3bce 100644
--- a/ifconfig.c
+++ b/ifconfig.c
@@ -15,7 +15,7 @@
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
- * $Id: ifconfig.c,v 1.6 2001/03/09 23:06:15 mjn3 Exp $
+ * $Id: ifconfig.c,v 1.7 2001/03/10 02:00:54 mjn3 Exp $
*
*/
@@ -234,7 +234,7 @@ static int in_ether(char *bufp, struct sockaddr *sap);
#endif
#ifdef BB_FEATURE_IFCONFIG_STATUS
-extern int display_interfaces(void);
+extern int display_interfaces(int display_all);
#endif
/*
@@ -263,21 +263,27 @@ int ifconfig_main(int argc, char **argv)
if(argc < 2) {
#ifdef BB_FEATURE_IFCONFIG_STATUS
- return(display_interfaces());
+ return(display_interfaces(0));
#else
show_usage();
#endif
}
+ /* skip argv[0] */
+ argc--;
+ argv++;
+
+#ifdef BB_FEATURE_IFCONFIG_STATUS
+ if ((argc == 1) && (strcmp(*argv, "-a") == 0)) {
+ return(display_interfaces(1));
+ }
+#endif
+
/* Create a channel to the NET kernel. */
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror_msg_and_die("socket");
}
- /* skip argv[0] */
- argc--;
- argv++;
-
/* get interface name */
safe_strncpy(ifr.ifr_name, *argv, IFNAMSIZ);
@@ -290,7 +296,7 @@ int ifconfig_main(int argc, char **argv)
mask = M_MASK; /* set the appropriate mask. */
}
for (op = OptArray ; op->name ; op++) { /* Find table entry. */
- if (!strcmp(p,op->name)) { /* If name matches... */
+ if (strcmp(p,op->name) == 0) { /* If name matches... */
if ((mask &= op->flags)) { /* set the mask and go. */
goto FOUND_ARG;;
}
diff --git a/interface.c b/interface.c
index 4df1a721a..648888bf5 100644
--- a/interface.c
+++ b/interface.c
@@ -3,7 +3,7 @@
* that either displays or sets the characteristics of
* one or more of the system's networking interfaces.
*
- * Version: $Id: interface.c,v 1.2 2001/03/06 20:54:43 andersen Exp $
+ * Version: $Id: interface.c,v 1.3 2001/03/10 02:00:54 mjn3 Exp $
*
* Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
* and others. Copyright 1993 MicroWalt Corporation
@@ -2059,14 +2059,15 @@ static int if_print(char *ifname)
return res;
}
-int display_interfaces(void)
+int display_interfaces(int opt_all)
{
int status;
+ opt_a = opt_all;
+
/* Create a channel to the NET kernel. */
if ((skfd = sockets_open(0)) < 0) {
- perror("socket");
- exit(1);
+ perror_msg_and_die("socket");
}
/* Do we have to show the current setup? */
diff --git a/networking/ifconfig.c b/networking/ifconfig.c
index daf189458..95dda3bce 100644
--- a/networking/ifconfig.c
+++ b/networking/ifconfig.c
@@ -15,7 +15,7 @@
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
- * $Id: ifconfig.c,v 1.6 2001/03/09 23:06:15 mjn3 Exp $
+ * $Id: ifconfig.c,v 1.7 2001/03/10 02:00:54 mjn3 Exp $
*
*/
@@ -234,7 +234,7 @@ static int in_ether(char *bufp, struct sockaddr *sap);
#endif
#ifdef BB_FEATURE_IFCONFIG_STATUS
-extern int display_interfaces(void);
+extern int display_interfaces(int display_all);
#endif
/*
@@ -263,21 +263,27 @@ int ifconfig_main(int argc, char **argv)
if(argc < 2) {
#ifdef BB_FEATURE_IFCONFIG_STATUS
- return(display_interfaces());
+ return(display_interfaces(0));
#else
show_usage();
#endif
}
+ /* skip argv[0] */
+ argc--;
+ argv++;
+
+#ifdef BB_FEATURE_IFCONFIG_STATUS
+ if ((argc == 1) && (strcmp(*argv, "-a") == 0)) {
+ return(display_interfaces(1));
+ }
+#endif
+
/* Create a channel to the NET kernel. */
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror_msg_and_die("socket");
}
- /* skip argv[0] */
- argc--;
- argv++;
-
/* get interface name */
safe_strncpy(ifr.ifr_name, *argv, IFNAMSIZ);
@@ -290,7 +296,7 @@ int ifconfig_main(int argc, char **argv)
mask = M_MASK; /* set the appropriate mask. */
}
for (op = OptArray ; op->name ; op++) { /* Find table entry. */
- if (!strcmp(p,op->name)) { /* If name matches... */
+ if (strcmp(p,op->name) == 0) { /* If name matches... */
if ((mask &= op->flags)) { /* set the mask and go. */
goto FOUND_ARG;;
}