X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=networking%2Fifconfig.c;h=7b358c43f06c500121264220cfc2b65a1b28f592;hb=5929edc1fac4340f99ed84e92bf3a2bedd4177c2;hp=4e3df2982cfa7e57a8a943de4b5b1d16cb68c913;hpb=c11a6a887b82e4c1f51e18499b06c0d745771ab0;p=oweals%2Fbusybox.git diff --git a/networking/ifconfig.c b/networking/ifconfig.c index 4e3df2982..7b358c43f 100644 --- a/networking/ifconfig.c +++ b/networking/ifconfig.c @@ -1,3 +1,4 @@ +/* vi: set sw=4 ts=4: */ /* ifconfig * * Similar to the standard Unix ifconfig, but with only the necessary @@ -9,14 +10,7 @@ * Authors of the original ifconfig was: * Fred N. van Kempen, * - * This program is free software; you can redistribute it - * and/or modify it under the terms of the GNU General - * Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at - * your option) any later version. - * - * $Id: ifconfig.c,v 1.30 2004/03/31 11:30:08 andersen Exp $ - * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ /* @@ -37,6 +31,7 @@ #include /* strcmp and friends */ #include /* isdigit and friends */ #include /* offsetof */ +#include #include #include #include @@ -46,8 +41,8 @@ #include #include #else -#include -#include +#include +#include #endif #include "inet_common.h" #include "busybox.h" @@ -177,7 +172,7 @@ struct in6_ifreq { struct arg1opt { const char *name; - unsigned short selector; + int selector; unsigned short ifr_offset; }; @@ -334,9 +329,7 @@ int ifconfig_main(int argc, char **argv) } /* Create a channel to the NET kernel. */ - if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - bb_perror_msg_and_die("socket"); - } + sockfd = bb_xsocket(AF_INET, SOCK_DGRAM, 0); /* get interface name */ safe_strncpy(ifr.ifr_name, *argv, IFNAMSIZ); @@ -352,7 +345,7 @@ int ifconfig_main(int argc, char **argv) for (op = OptArray; op->name; op++) { /* Find table entry. */ if (strcmp(p, op->name) == 0) { /* If name matches... */ if ((mask &= op->flags)) { /* set the mask and go. */ - goto FOUND_ARG;; + goto FOUND_ARG; } /* If we get here, there was a valid arg with an */ /* invalid '-' prefix. */ @@ -479,7 +472,7 @@ int ifconfig_main(int argc, char **argv) memcpy((((char *) (&ifr)) + a1op->ifr_offset), p, sizeof(struct sockaddr)); } else { - unsigned int i = strtoul(*argv, NULL, 0); + unsigned long i = strtoul(*argv, NULL, 0); p = ((char *) (&ifr)) + a1op->ifr_offset; #ifdef CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ @@ -558,6 +551,7 @@ int ifconfig_main(int argc, char **argv) continue; } /* end of while-loop */ + if (ENABLE_FEATURE_CLEAN_UP) close(sockfd); return goterr; } @@ -565,7 +559,7 @@ int ifconfig_main(int argc, char **argv) /* Input an Ethernet address and convert to binary. */ static int in_ether(char *bufp, struct sockaddr *sap) { - unsigned char *ptr; + char *ptr; int i, j; unsigned char val; unsigned char c;