ntpd: explain why scripts can be run in quick succession
[oweals/busybox.git] / networking / ifconfig.c
index e999741d12d46f37d89e242f7ee2d4f0cd1dafb8..1e960d45c84a86ce7a45263ce6b8125edbb43416 100644 (file)
@@ -260,7 +260,7 @@ static int in_ether(const char *bufp, struct sockaddr *sap);
  * Our main function.
  */
 int ifconfig_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int ifconfig_main(int argc, char **argv)
+int ifconfig_main(int argc UNUSED_PARAM, char **argv)
 {
        struct ifreq ifr;
        struct sockaddr_in sai;
@@ -291,19 +291,17 @@ int ifconfig_main(int argc, char **argv)
 
        /* skip argv[0] */
        ++argv;
-       --argc;
 
 #if ENABLE_FEATURE_IFCONFIG_STATUS
-       if (argc > 0 && (argv[0][0] == '-' && argv[0][1] == 'a' && !argv[0][2])) {
+       if (argv[0] && (argv[0][0] == '-' && argv[0][1] == 'a' && !argv[0][2])) {
                interface_opt_a = 1;
-               --argc;
                ++argv;
        }
 #endif
 
-       if (argc <= 1) {
+       if (!argv[0] || !argv[1]) { /* one or no args */
 #if ENABLE_FEATURE_IFCONFIG_STATUS
-               return display_interfaces(argc ? *argv : NULL);
+               return display_interfaces(argv[0] /* can be NULL */);
 #else
                bb_error_msg_and_die("no support for status display");
 #endif
@@ -313,7 +311,7 @@ int ifconfig_main(int argc, char **argv)
        sockfd = xsocket(AF_INET, SOCK_DGRAM, 0);
 
        /* get interface name */
-       strncpy(ifr.ifr_name, *argv, IFNAMSIZ);
+       strncpy_IFNAMSIZ(ifr.ifr_name, *argv);
 
        /* Process the remaining arguments. */
        while (*++argv != (char *) NULL) {
@@ -424,7 +422,7 @@ int ifconfig_main(int argc, char **argv)
                                        } else {        /* A_CAST_HOST_COPY_IN_ETHER */
                                                /* This is the "hw" arg case. */
                                                smalluint hw_class= index_in_substrings("ether\0"
-                                                               USE_FEATURE_HWIB("infiniband\0"), *argv) + 1;
+                                                               IF_FEATURE_HWIB("infiniband\0"), *argv) + 1;
                                                if (!hw_class || !*++argv)
                                                        bb_show_usage();
                                                /*safe_strncpy(host, *argv, sizeof(host));*/