[PATCH] whack out all that "KEEP_UNUSED" stuff in interface.c

Robert P. J. Day rpjday at mindspring.com
Sat May 20 00:12:11 UTC 2006


  over 400 lines dropped.  yow.

rday
-------------- next part --------------
diff -pru busybox/networking/interface.c busybox.new/networking/interface.c
--- busybox/networking/interface.c	2006-05-19 19:59:51.000000000 -0400
+++ busybox.new/networking/interface.c	2006-05-19 20:08:35.000000000 -0400
@@ -4,7 +4,6 @@
  *
  * Heavily modified by Manuel Novoa III       Mar 12, 2001
  *
- * Pruned unused code using KEEP_UNUSED define.
  * Added print_bytes_scaled function to reduce code size.
  * Added some (potentially) missing defines.
  * Improved display support for -a and for a named interface.
@@ -36,13 +35,12 @@
  *			(default AF was wrong)
  */
 
-/* #define KEEP_UNUSED */
-
 /*
  *
  * Protocol Families.
  *
  */
+
 #define HAVE_AFINET 1
 
 /*
@@ -50,10 +48,10 @@
  * Device Hardware types.
  *
  */
+
 #define HAVE_HWETHER	1
 #define HAVE_HWPPP	1
 
-
 #include "inet_common.h"
 #include <stdio.h>
 #include <errno.h>
@@ -81,6 +79,7 @@
 #if HAVE_AFINET6
 
 #ifndef _LINUX_IN6_H
+
 /*
  *    This is in linux/include/net/ipv6.h.
  */
@@ -134,39 +133,6 @@ struct aftype {
 	char *flag_file;
 };
 
-#ifdef KEEP_UNUSED
-
-static int flag_unx;
-static int flag_inet;
-
-static struct aftrans_t {
-	char *alias;
-	char *name;
-	int *flag;
-} aftrans[] = {
-
-	{
-	"ip", "inet", &flag_inet},
-#ifdef HAVE_AFINET6
-	{
-	"ip6", "inet6", &flag_inet6},
-#endif
-	{
-	"inet", "inet", &flag_inet},
-#ifdef HAVE_AFINET6
-	{
-	"inet6", "inet6", &flag_inet6},
-#endif
-	{
-	"unix", "unix", &flag_unx}, {
-	"tcpip", "inet", &flag_inet},
-	{
-	0, 0, 0}
-};
-
-static char afname[256] = "";
-#endif							/* KEEP_UNUSED */
-
 #if HAVE_AFUNIX
 
 /* Display a UNIX domain address. */
@@ -198,19 +164,6 @@ static struct aftype unix_aftype = {
 
 #if HAVE_AFINET
 
-#ifdef KEEP_UNUSED
-static void INET_reserror(char *text)
-{
-	herror(text);
-}
-
-/* Display an Internet socket address. */
-static char *INET_print(unsigned char *ptr)
-{
-	return (inet_ntoa((*(struct in_addr *) ptr)));
-}
-#endif							/* KEEP_UNUSED */
-
 /* Display an Internet socket address. */
 static char *INET_sprint(struct sockaddr *sap, int numeric)
 {
@@ -226,96 +179,6 @@ static char *INET_sprint(struct sockaddr
 	return (buff);
 }
 
-#ifdef KEEP_UNUSED
-static char *INET_sprintmask(struct sockaddr *sap, int numeric,
-							 unsigned int netmask)
-{
-	static char buff[128];
-
-	if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
-		return safe_strncpy(buff, _("[NONE SET]"), sizeof(buff));
-	if (INET_rresolve(buff, sizeof(buff), (struct sockaddr_in *) sap,
-					  numeric, netmask) != 0)
-		return (NULL);
-	return (buff);
-}
-
-static int INET_getsock(char *bufp, struct sockaddr *sap)
-{
-	char *sp = bufp, *bp;
-	unsigned int i;
-	unsigned val;
-	struct sockaddr_in *sin;
-
-	sin = (struct sockaddr_in *) sap;
-	sin->sin_family = AF_INET;
-	sin->sin_port = 0;
-
-	val = 0;
-	bp = (char *) &val;
-	for (i = 0; i < sizeof(sin->sin_addr.s_addr); i++) {
-		*sp = toupper(*sp);
-
-		if ((*sp >= 'A') && (*sp <= 'F'))
-			bp[i] |= (int) (*sp - 'A') + 10;
-		else if ((*sp >= '0') && (*sp <= '9'))
-			bp[i] |= (int) (*sp - '0');
-		else
-			return (-1);
-
-		bp[i] <<= 4;
-		sp++;
-		*sp = toupper(*sp);
-
-		if ((*sp >= 'A') && (*sp <= 'F'))
-			bp[i] |= (int) (*sp - 'A') + 10;
-		else if ((*sp >= '0') && (*sp <= '9'))
-			bp[i] |= (int) (*sp - '0');
-		else
-			return (-1);
-
-		sp++;
-	}
-	sin->sin_addr.s_addr = htonl(val);
-
-	return (sp - bufp);
-}
-
-static int INET_input(int type, char *bufp, struct sockaddr *sap)
-{
-	switch (type) {
-	case 1:
-		return (INET_getsock(bufp, sap));
-	case 256:
-		return (INET_resolve(bufp, (struct sockaddr_in *) sap, 1));
-	default:
-		return (INET_resolve(bufp, (struct sockaddr_in *) sap, 0));
-	}
-}
-
-static int INET_getnetmask(char *adr, struct sockaddr *m, char *name)
-{
-	struct sockaddr_in *mask = (struct sockaddr_in *) m;
-	char *slash, *end;
-	int prefix;
-
-	if ((slash = strchr(adr, '/')) == NULL)
-		return 0;
-
-	*slash++ = '\0';
-	prefix = strtoul(slash, &end, 0);
-	if (*end != '\0')
-		return -1;
-
-	if (name) {
-		sprintf(name, "/%d", prefix);
-	}
-	mask->sin_family = AF_INET;
-	mask->sin_addr.s_addr = htonl(~(0xffffffffU >> prefix));
-	return 1;
-}
-#endif							/* KEEP_UNUSED */
-
 static struct aftype inet_aftype = {
 	"inet", "DARPA Internet", AF_INET, sizeof(unsigned long),
 	NULL /* UNUSED INET_print */ , INET_sprint,
@@ -330,22 +193,6 @@ static struct aftype inet_aftype = {
 
 #if HAVE_AFINET6
 
-#ifdef KEEP_UNUSED
-static void INET6_reserror(char *text)
-{
-	herror(text);
-}
-
-/* Display an Internet socket address. */
-static char *INET6_print(unsigned char *ptr)
-{
-	static char name[80];
-
-	inet_ntop(AF_INET6, (struct in6_addr *) ptr, name, 80);
-	return name;
-}
-#endif							/* KEEP_UNUSED */
-
 /* Display an Internet socket address. */
 /* dirty! struct sockaddr usually doesn't suffer for inet6 addresses, fst. */
 static char *INET6_sprint(struct sockaddr *sap, int numeric)
@@ -360,32 +207,6 @@ static char *INET6_sprint(struct sockadd
 	return (buff);
 }
 
-#ifdef KEEP_UNUSED
-static int INET6_getsock(char *bufp, struct sockaddr *sap)
-{
-	struct sockaddr_in6 *sin6;
-
-	sin6 = (struct sockaddr_in6 *) sap;
-	sin6->sin6_family = AF_INET6;
-	sin6->sin6_port = 0;
-
-	if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
-		return (-1);
-
-	return 16;			/* ?;) */
-}
-
-static int INET6_input(int type, char *bufp, struct sockaddr *sap)
-{
-	switch (type) {
-	case 1:
-		return (INET6_getsock(bufp, sap));
-	default:
-		return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
-	}
-}
-#endif							/* KEEP_UNUSED */
-
 static struct aftype inet6_aftype = {
 	"inet6", "IPv6", AF_INET6, sizeof(struct in6_addr),
 	NULL /* UNUSED INET6_print */ , INET6_sprint,
@@ -446,135 +267,11 @@ static struct aftype * const aftypes[] =
 	NULL
 };
 
-#ifdef KEEP_UNUSED
-static short sVafinit = 0;
-
-static void afinit()
-{
-	unspec_aftype.title = _("UNSPEC");
-#if HAVE_AFUNIX
-	unix_aftype.title = _("UNIX Domain");
-#endif
-#if HAVE_AFINET
-	inet_aftype.title = _("DARPA Internet");
-#endif
-#if HAVE_AFINET6
-	inet6_aftype.title = _("IPv6");
-#endif
-	sVafinit = 1;
-}
-
-static int aftrans_opt(const char *arg)
-{
-	struct aftrans_t *paft;
-	char *tmp1, *tmp2;
-	char buf[256];
-
-	safe_strncpy(buf, arg, sizeof(buf));
-
-	tmp1 = buf;
-
-	while (tmp1) {
-
-		tmp2 = strchr(tmp1, ',');
-
-		if (tmp2)
-			*(tmp2++) = '\0';
-
-		paft = aftrans;
-		for (paft = aftrans; paft->alias; paft++) {
-			if (strcmp(tmp1, paft->alias))
-				continue;
-			if (strlen(paft->name) + strlen(afname) + 1 >= sizeof(afname)) {
-				bb_error_msg(_("Too many address family arguments."));
-				return (0);
-			}
-			if (paft->flag)
-				(*paft->flag)++;
-			if (afname[0])
-				strcat(afname, ",");
-			strcat(afname, paft->name);
-			break;
-		}
-		if (!paft->alias) {
-			bb_error_msg(_("Unknown address family `%s'."), tmp1);
-			return (1);
-		}
-		tmp1 = tmp2;
-	}
-
-	return (0);
-}
-
-/* set the default AF list from the program name or a constant value    */
-static void aftrans_def(char *tool, char *argv0, char *dflt)
-{
-	char *tmp;
-	char *buf;
-
-	strcpy(afname, dflt);
-
-	if (!(tmp = strrchr(argv0, '/')))
-		tmp = argv0;	/* no slash?! */
-	else
-		tmp++;
-
-	if (!(buf = strdup(tmp)))
-		return;
-
-	if (strlen(tool) >= strlen(tmp)) {
-		free(buf);
-		return;
-	}
-	tmp = buf + (strlen(tmp) - strlen(tool));
-
-	if (strcmp(tmp, tool) != 0) {
-		free(buf);
-		return;
-	}
-	*tmp = '\0';
-	if ((tmp = strchr(buf, '_')))
-		*tmp = '\0';
-
-	afname[0] = '\0';
-	if (aftrans_opt(buf))
-		strcpy(afname, buf);
-
-	free(buf);
-}
-
-/* Check our protocol family table for this family. */
-static struct aftype *get_aftype(const char *name)
-{
-	struct aftype * const *afp;
-
-#ifdef KEEP_UNUSED
-	if (!sVafinit)
-		afinit();
-#endif							/* KEEP_UNUSED */
-
-	afp = aftypes;
-	while (*afp != NULL) {
-		if (!strcmp((*afp)->name, name))
-			return (*afp);
-		afp++;
-	}
-	if (strchr(name, ','))
-		bb_error_msg(_("Please don't supply more than one address family."));
-	return (NULL);
-}
-#endif							/* KEEP_UNUSED */
-
 /* Check our protocol family table for this family. */
 static struct aftype *get_afntype(int af)
 {
 	struct aftype * const *afp;
 
-#ifdef KEEP_UNUSED
-	if (!sVafinit)
-		afinit();
-#endif							/* KEEP_UNUSED */
-
 	afp = aftypes;
 	while (*afp != NULL) {
 		if ((*afp)->af == af)
@@ -589,11 +286,6 @@ static int get_socket_for_af(int af)
 {
 	struct aftype * const *afp;
 
-#ifdef KEEP_UNUSED
-	if (!sVafinit)
-		afinit();
-#endif							/* KEEP_UNUSED */
-
 	afp = aftypes;
 	while (*afp != NULL) {
 		if ((*afp)->af == af)
@@ -603,38 +295,6 @@ static int get_socket_for_af(int af)
 	return -1;
 }
 
-#ifdef KEEP_UNUSED
-/* type: 0=all, 1=getroute */
-static void print_aflist(int type)
-{
-	int count = 0;
-	char *txt;
-	struct aftype * const *afp;
-
-#ifdef KEEP_UNUSED
-	if (!sVafinit)
-		afinit();
-#endif							/* KEEP_UNUSED */
-
-	afp = aftypes;
-	while (*afp != NULL) {
-		if ((type == 1 && ((*afp)->rprint == NULL)) || ((*afp)->af == 0)) {
-			afp++;
-			continue;
-		}
-		if ((count % 3) == 0)
-			fprintf(stderr, count ? "\n    " : "    ");
-		txt = (*afp)->name;
-		if (!txt)
-			txt = "..";
-		fprintf(stderr, "%s (%s) ", txt, _((*afp)->title));
-		count++;
-		afp++;
-	}
-	fprintf(stderr, "\n");
-}
-#endif							/* KEEP_UNUSED */
-
 struct user_net_device_stats {
 	unsigned long long rx_packets;	/* total packets received       */
 	unsigned long long tx_packets;	/* total packets transmitted    */
@@ -688,13 +348,6 @@ struct interface {
 
 int interface_opt_a = 0;	/* show all interfaces          */
 
-#ifdef KEEP_UNUSED
-static int opt_i = 0;	/* show the statistics          */
-static int opt_v = 0;	/* debugging output flag        */
-
-static int addr_family = 0;	/* currently selected AF        */
-#endif							/* KEEP_UNUSED */
-
 static struct interface *int_list, *int_last;
 static int skfd = -1;	/* generic raw socket desc.     */
 
@@ -1170,84 +823,6 @@ static char *pr_ether(unsigned char *ptr
 	return (buff);
 }
 
-#ifdef KEEP_UNUSED
-/* Input an Ethernet address and convert to binary. */
-static int in_ether(char *bufp, struct sockaddr *sap)
-{
-	unsigned char *ptr;
-	char c, *orig;
-	int i;
-	unsigned val;
-
-	sap->sa_family = ether_hwtype.type;
-	ptr = sap->sa_data;
-
-	i = 0;
-	orig = bufp;
-	while ((*bufp != '\0') && (i < ETH_ALEN)) {
-		val = 0;
-		c = *bufp++;
-		if (isdigit(c))
-			val = c - '0';
-		else if (c >= 'a' && c <= 'f')
-			val = c - 'a' + 10;
-		else if (c >= 'A' && c <= 'F')
-			val = c - 'A' + 10;
-		else {
-#ifdef DEBUG
-			bb_error_msg(_("in_ether(%s): invalid ether address!\n"), orig);
-#endif
-			errno = EINVAL;
-			return (-1);
-		}
-		val <<= 4;
-		c = *bufp;
-		if (isdigit(c))
-			val |= c - '0';
-		else if (c >= 'a' && c <= 'f')
-			val |= c - 'a' + 10;
-		else if (c >= 'A' && c <= 'F')
-			val |= c - 'A' + 10;
-		else if (c == ':' || c == 0)
-			val >>= 4;
-		else {
-#ifdef DEBUG
-			bb_error_msg(_("in_ether(%s): invalid ether address!"), orig);
-#endif
-			errno = EINVAL;
-			return (-1);
-		}
-		if (c != 0)
-			bufp++;
-		*ptr++ = (unsigned char) (val & 0377);
-		i++;
-
-		/* We might get a semicolon here - not required. */
-		if (*bufp == ':') {
-#ifdef DEBUG
-			if (i == ETH_ALEN) {
-				bb_error_msg(_("in_ether(%s): trailing : ignored!"), orig);
-			}
-#endif
-			bufp++;
-		}
-	}
-
-#ifdef DEBUG
-	/* That's it.  Any trailing junk? */
-	if ((i == ETH_ALEN) && (*bufp != '\0')) {
-		bb_error_msg(_("in_ether(%s): trailing junk!"), orig);
-		errno = EINVAL;
-		return (-1);
-	}
-	bb_error_msg("in_ether(%s): %s", orig, pr_ether(sap->sa_data));
-#endif
-
-	return (0);
-}
-#endif							/* KEEP_UNUSED */
-
-
 static const struct hwtype ether_hwtype = {
 	"ether", "Ethernet", ARPHRD_ETHER, ETH_ALEN,
 	pr_ether, NULL /* UNUSED in_ether */ , NULL
@@ -1261,15 +836,6 @@ static const struct hwtype ether_hwtype 
 
 #include <net/if_arp.h>
 
-#ifdef KEEP_UNUSED
-/* Start the PPP encapsulation on the file descriptor. */
-static int do_ppp(int fd)
-{
-	bb_error_msg(_("You cannot start PPP with this program."));
-	return -1;
-}
-#endif							/* KEEP_UNUSED */
-
 static const struct hwtype ppp_hwtype = {
 	"ppp", "Point-Point Protocol", ARPHRD_PPP, 0,
 	NULL, NULL, NULL /* UNUSED do_ppp */ , 0
@@ -1298,26 +864,6 @@ static const struct hwtype * const hwtyp
 	NULL
 };
 
-#ifdef KEEP_UNUSED
-static short sVhwinit = 0;
-
-static void hwinit()
-{
-	loop_hwtype.title = _("Local Loopback");
-	unspec_hwtype.title = _("UNSPEC");
-#if HAVE_HWETHER
-	ether_hwtype.title = _("Ethernet");
-#endif
-#if HAVE_HWTUNNEL
-	tunnel_hwtype.title = _("IPIP Tunnel");
-#endif
-#if HAVE_HWPPP
-	ppp_hwtype.title = _("Point-to-Point Protocol");
-#endif
-	sVhwinit = 1;
-}
-#endif							/* KEEP_UNUSED */
-
 #ifdef IFF_PORTSEL
 #if 0
 static const char * const if_port_text[][4] = {
@@ -1351,11 +897,6 @@ static const struct hwtype *get_hwntype(
 {
 	const struct hwtype * const *hwp;
 
-#ifdef KEEP_UNUSED
-	if (!sVhwinit)
-		hwinit();
-#endif							/* KEEP_UNUSED */
-
 	hwp = hwtypes;
 	while (*hwp != NULL) {
 		if ((*hwp)->type == type)


More information about the busybox mailing list