[git commit] libiproute: rename invarg(a,b) to invarg_1_to_2(a,b)

Denys Vlasenko vda.linux at googlemail.com
Wed Oct 14 11:21:01 UTC 2015


commit: http://git.busybox.net/busybox/commit/?id=0f296a3a56b52842057e5a2bc653621a3a6c7bec
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

invarg(a,b) - "invalid argument", but how a and b enter the message?

invarg_1_to_2(a,b) is somewhat easier to read: "invalid argument 'a' to 'b'"

Audit of usage revealed a number of bad uses, with too long messages.

   text	   data	    bss	    dec	    hex	filename
 938848	    932	  17448	 957228	  e9b2c	busybox_old
 938788	    932	  17448	 957168	  e9af0	busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 coreutils/dd.c                               |    4 +-
 findutils/find.c                             |    2 +-
 include/libbb.h                              |    2 +-
 libbb/messages.c                             |    2 +-
 networking/brctl.c                           |    8 +++---
 networking/libiproute/ip_parse_common_args.c |    2 +-
 networking/libiproute/ipaddress.c            |    6 ++--
 networking/libiproute/iplink.c               |   27 ++++++++++++-------------
 networking/libiproute/ipneigh.c              |   10 ++++----
 networking/libiproute/iproute.c              |   12 +++++-----
 networking/libiproute/iprule.c               |   12 +++++-----
 networking/libiproute/iptunnel.c             |    6 ++--
 networking/libiproute/utils.c                |   12 +++++-----
 networking/libiproute/utils.h                |    2 +-
 networking/slattach.c                        |    6 ++--
 networking/tc.c                              |   12 +++++-----
 16 files changed, 62 insertions(+), 63 deletions(-)

diff --git a/coreutils/dd.c b/coreutils/dd.c
index 53a843c..6a5288d 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -326,7 +326,7 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
 					*arg = '\0';
 				n = index_in_strings(conv_words, val);
 				if (n < 0)
-					bb_error_msg_and_die(bb_msg_invalid_arg, val, "conv");
+					bb_error_msg_and_die(bb_msg_invalid_arg_to, val, "conv");
 				G.flags |= (1 << n);
 				if (!arg) /* no ',' left, so this was the last specifier */
 					break;
@@ -368,7 +368,7 @@ int dd_main(int argc UNUSED_PARAM, char **argv)
 			int n;
 			n = index_in_strings(status_words, val);
 			if (n < 0)
-				bb_error_msg_and_die(bb_msg_invalid_arg, val, "status");
+				bb_error_msg_and_die(bb_msg_invalid_arg_to, val, "status");
 			G.flags |= FLAG_STATUS << n;
 			/*continue;*/
 		}
diff --git a/findutils/find.c b/findutils/find.c
index 5bd7535..a0d4853 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -882,7 +882,7 @@ static int find_type(const char *type)
 		mask = S_IFSOCK;
 
 	if (mask == 0 || type[1] != '\0')
-		bb_error_msg_and_die(bb_msg_invalid_arg, type, "-type");
+		bb_error_msg_and_die(bb_msg_invalid_arg_to, type, "-type");
 
 	return mask;
 }
diff --git a/include/libbb.h b/include/libbb.h
index 5a270cd..f04f555 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1786,7 +1786,7 @@ extern const char bb_msg_can_not_create_raw_socket[] ALIGN1;
 extern const char bb_msg_perm_denied_are_you_root[] ALIGN1;
 extern const char bb_msg_you_must_be_root[] ALIGN1;
 extern const char bb_msg_requires_arg[] ALIGN1;
-extern const char bb_msg_invalid_arg[] ALIGN1;
+extern const char bb_msg_invalid_arg_to[] ALIGN1;
 extern const char bb_msg_standard_input[] ALIGN1;
 extern const char bb_msg_standard_output[] ALIGN1;
 
diff --git a/libbb/messages.c b/libbb/messages.c
index c1b7ba2..23e440b 100644
--- a/libbb/messages.c
+++ b/libbb/messages.c
@@ -29,7 +29,7 @@ const char bb_msg_can_not_create_raw_socket[] ALIGN1 = "can't create raw socket"
 const char bb_msg_perm_denied_are_you_root[] ALIGN1 = "permission denied (are you root?)";
 const char bb_msg_you_must_be_root[] ALIGN1 = "you must be root";
 const char bb_msg_requires_arg[] ALIGN1 = "%s requires an argument";
-const char bb_msg_invalid_arg[] ALIGN1 = "invalid argument '%s' to '%s'";
+const char bb_msg_invalid_arg_to[] ALIGN1 = "invalid argument '%s' to '%s'";
 const char bb_msg_standard_input[] ALIGN1 = "standard input";
 const char bb_msg_standard_output[] ALIGN1 = "standard output";
 
diff --git a/networking/brctl.c b/networking/brctl.c
index c01a869..b732096 100644
--- a/networking/brctl.c
+++ b/networking/brctl.c
@@ -128,7 +128,7 @@ static ALWAYS_INLINE void bb_strtotimeval(struct timeval *tv,
 # else
 	if (sscanf(time_str, "%lf", &secs) != 1)
 # endif
-		bb_error_msg_and_die(bb_msg_invalid_arg, time_str, "timespec");
+		bb_error_msg_and_die(bb_msg_invalid_arg_to, time_str, "timespec");
 	tv->tv_sec = secs;
 	tv->tv_usec = 1000000 * (secs - tv->tv_sec);
 }
@@ -205,7 +205,7 @@ int brctl_main(int argc UNUSED_PARAM, char **argv)
 
 		key = index_in_strings(keywords, *argv);
 		if (key == -1) /* no match found in keywords array, bail out. */
-			bb_error_msg_and_die(bb_msg_invalid_arg, *argv, applet_name);
+			bb_error_msg_and_die(bb_msg_invalid_arg_to, *argv, applet_name);
 		argv++;
 		fd = xsocket(AF_INET, SOCK_STREAM, 0);
 
@@ -299,7 +299,7 @@ int brctl_main(int argc UNUSED_PARAM, char **argv)
 				"1\0" "on\0"  "y\0" "yes\0"; /* 4 .. 7 */
 			int onoff = index_in_strings(no_yes, *argv);
 			if (onoff < 0)
-				bb_error_msg_and_die(bb_msg_invalid_arg, *argv, applet_name);
+				bb_error_msg_and_die(bb_msg_invalid_arg_to, *argv, applet_name);
 			onoff = (unsigned)onoff / 4;
 			arm_ioctl(args, BRCTL_SET_BRIDGE_STP_STATE, onoff, 0);
 			goto fire;
@@ -332,7 +332,7 @@ int brctl_main(int argc UNUSED_PARAM, char **argv)
 
 				port = if_nametoindex(*argv++);
 				if (!port)
-					bb_error_msg_and_die(bb_msg_invalid_arg, *argv, "port");
+					bb_error_msg_and_die(bb_msg_invalid_arg_to, *argv, "port");
 				memset(ifidx, 0, sizeof ifidx);
 				arm_ioctl(args, BRCTL_GET_PORT_LIST, (unsigned long)ifidx,
 						MAX_PORTS);
diff --git a/networking/libiproute/ip_parse_common_args.c b/networking/libiproute/ip_parse_common_args.c
index 59c759b..1a298f7 100644
--- a/networking/libiproute/ip_parse_common_args.c
+++ b/networking/libiproute/ip_parse_common_args.c
@@ -67,7 +67,7 @@ char** FAST_FUNC ip_parse_common_args(char **argv)
 				bb_show_usage();
 			arg = index_in_strings(families, *argv);
 			if (arg < 0)
-				invarg(*argv, "protocol family");
+				invarg_1_to_2(*argv, "family");
 			/* now arg == 0, 1 or 2 */
 		} else {
 			arg -= ARG_IPv4;
diff --git a/networking/libiproute/ipaddress.c b/networking/libiproute/ipaddress.c
index 8845cab..c0f27c7 100644
--- a/networking/libiproute/ipaddress.c
+++ b/networking/libiproute/ipaddress.c
@@ -455,7 +455,7 @@ int FAST_FUNC ipaddr_list_or_flush(char **argv, int flush)
 			G_filter.scopemask = -1;
 			if (rtnl_rtscope_a2n(&scope, *argv)) {
 				if (strcmp(*argv, "all") != 0) {
-					invarg(*argv, "scope");
+					invarg_1_to_2(*argv, "scope");
 				}
 				scope = RT_SCOPE_NOWHERE;
 				G_filter.scopemask = 0;
@@ -669,7 +669,7 @@ static int ipaddr_modify(int cmd, int flags, char **argv)
 		} else if (arg == 5) { /* scope */
 			uint32_t scope = 0;
 			if (rtnl_rtscope_a2n(&scope, *argv)) {
-				invarg(*argv, "scope");
+				invarg_1_to_2(*argv, "scope");
 			}
 			req.ifa.ifa_scope = scope;
 			scoped = 1;
@@ -751,7 +751,7 @@ int FAST_FUNC do_ipaddr(char **argv)
 	if (*argv) {
 		cmd = index_in_substrings(commands, *argv);
 		if (cmd < 0)
-			invarg(*argv, applet_name);
+			invarg_1_to_2(*argv, applet_name);
 		argv++;
 		if (cmd <= 4) {
 			return ipaddr_modify(
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c
index 5c27c2d..ae3ef0c 100644
--- a/networking/libiproute/iplink.c
+++ b/networking/libiproute/iplink.c
@@ -349,7 +349,7 @@ static void vlan_parse_opt(char **argv, struct nlmsghdr *n, unsigned int size)
 	while (*argv) {
 		arg = index_in_substrings(keywords, *argv);
 		if (arg < 0)
-			invarg(*argv, "type vlan");
+			invarg_1_to_2(*argv, "type vlan");
 
 		NEXT_ARG();
 		if (arg == ARG_id) {
@@ -512,7 +512,7 @@ static int do_add_or_delete(char **argv, const unsigned rtm)
 	if (name_str) {
 		const size_t name_len = strlen(name_str) + 1;
 		if (name_len < 2 || name_len > IFNAMSIZ)
-			invarg(name_str, "name");
+			invarg_1_to_2(name_str, "name");
 		addattr_l(&req.n, sizeof(req), IFLA_IFNAME, name_str, name_len);
 	}
 	if (rtnl_talk(&rth, &req.n, 0, 0, NULL, NULL, NULL) < 0)
@@ -536,14 +536,14 @@ static int do_add_or_delete(char **argv, const unsigned rtm)
 			if (qlen != -1)
 				duparg("txqueuelen", *argv);
 			if (get_integer(&qlen,  *argv, 0))
-				invarg("Invalid \"txqueuelen\" value\n", *argv);
+				invarg_1_to_2(*argv, "txqueuelen");
 			addattr_l(&req->n, sizeof(*req), IFLA_TXQLEN, &qlen, 4);
 		} else if (strcmp(*argv, "mtu") == 0) {
 			NEXT_ARG();
 			if (mtu != -1)
 				duparg("mtu", *argv);
 			if (get_integer(&mtu, *argv, 0))
-				invarg("Invalid \"mtu\" value\n", *argv);
+				invarg_1_to_2(*argv, "mtu");
 			addattr_l(&req->n, sizeof(*req), IFLA_MTU, &mtu, 4);
                 } else if (strcmp(*argv, "netns") == 0) {
                         NEXT_ARG();
@@ -554,7 +554,7 @@ static int do_add_or_delete(char **argv, const unsigned rtm)
 			else if (get_integer(&netns, *argv, 0) == 0)
 				addattr_l(&req->n, sizeof(*req), IFLA_NET_NS_PID, &netns, 4);
 			else
-                                invarg("Invalid \"netns\" value\n", *argv);
+                                invarg_1_to_2(*argv, "netns");
 		} else if (strcmp(*argv, "multicast") == 0) {
 			NEXT_ARG();
 			req->i.ifi_change |= IFF_MULTICAST;
@@ -604,7 +604,7 @@ static int do_add_or_delete(char **argv, const unsigned rtm)
 			struct rtattr *vflist;
 			NEXT_ARG();
 			if (get_integer(&vf,  *argv, 0)) {
-				invarg("Invalid \"vf\" value\n", *argv);
+				invarg_1_to_2(*argv, "vf");
 			}
 			vflist = addattr_nest(&req->n, sizeof(*req),
 					      IFLA_VFINFO_LIST);
@@ -617,7 +617,7 @@ static int do_add_or_delete(char **argv, const unsigned rtm)
 			NEXT_ARG();
 			ifindex = ll_name_to_index(*argv);
 			if (!ifindex)
-				invarg("Device does not exist\n", *argv);
+				invarg_1_to_2(*argv, "master");
 			addattr_l(&req->n, sizeof(*req), IFLA_MASTER,
 				  &ifindex, 4);
 		} else if (matches(*argv, "nomaster") == 0) {
@@ -644,28 +644,27 @@ static int do_add_or_delete(char **argv, const unsigned rtm)
 			if (*group != -1)
 				duparg("group", *argv);
 			if (rtnl_group_a2n(group, *argv))
-				invarg("Invalid \"group\" value\n", *argv);
+				invarg_1_to_2(*argv, "group");
 		} else if (strcmp(*argv, "mode") == 0) {
 			int mode;
 			NEXT_ARG();
 			mode = get_link_mode(*argv);
 			if (mode < 0)
-				invarg("Invalid link mode\n", *argv);
+				invarg_1_to_2(*argv, "mode");
 			addattr8(&req->n, sizeof(*req), IFLA_LINKMODE, mode);
 		} else if (strcmp(*argv, "state") == 0) {
 			int state;
 			NEXT_ARG();
 			state = get_operstate(*argv);
 			if (state < 0)
-				invarg("Invalid operstate\n", *argv);
-
+				invarg_1_to_2(*argv, "state");
 			addattr8(&req->n, sizeof(*req), IFLA_OPERSTATE, state);
 		} else if (matches(*argv, "numtxqueues") == 0) {
 			NEXT_ARG();
 			if (numtxqueues != -1)
 				duparg("numtxqueues", *argv);
 			if (get_integer(&numtxqueues, *argv, 0))
-				invarg("Invalid \"numtxqueues\" value\n", *argv);
+				invarg_1_to_2(*argv, "numtxqueues");
 			addattr_l(&req->n, sizeof(*req), IFLA_NUM_TX_QUEUES,
 				  &numtxqueues, 4);
 		} else if (matches(*argv, "numrxqueues") == 0) {
@@ -673,7 +672,7 @@ static int do_add_or_delete(char **argv, const unsigned rtm)
 			if (numrxqueues != -1)
 				duparg("numrxqueues", *argv);
 			if (get_integer(&numrxqueues, *argv, 0))
-				invarg("Invalid \"numrxqueues\" value\n", *argv);
+				invarg_1_to_2(*argv, "numrxqueues");
 			addattr_l(&req->n, sizeof(*req), IFLA_NUM_RX_QUEUES,
 				  &numrxqueues, 4);
 		}
@@ -687,7 +686,7 @@ int FAST_FUNC do_iplink(char **argv)
 	if (*argv) {
 		int key = index_in_substrings(keywords, *argv);
 		if (key < 0) /* invalid argument */
-			invarg(*argv, applet_name);
+			invarg_1_to_2(*argv, applet_name);
 		argv++;
 		if (key <= 1) /* add/delete */
 			return do_add_or_delete(argv, key ? RTM_DELLINK : RTM_NEWLINK);
diff --git a/networking/libiproute/ipneigh.c b/networking/libiproute/ipneigh.c
index 03a15d8..6588c12 100644
--- a/networking/libiproute/ipneigh.c
+++ b/networking/libiproute/ipneigh.c
@@ -75,7 +75,7 @@ static unsigned nud_state_a2n(char *arg)
 
 	id = index_in_substrings(keywords, arg);
 	if (id < 0)
-		bb_error_msg_and_die(bb_msg_invalid_arg, arg, "nud state");
+		bb_error_msg_and_die(bb_msg_invalid_arg_to, arg, "nud state");
 	return nuds[id];
 }
 
@@ -281,9 +281,9 @@ static int FAST_FUNC ipneigh_list_or_flush(char **argv, int flush)
 	ll_init_map(&rth);
 
 	if (filter_dev)  {
-		if ((G_filter.index = xll_name_to_index(filter_dev)) == 0) {
-			bb_error_msg_and_die(bb_msg_invalid_arg,
-					     filter_dev, "Cannot find device");
+		G_filter.index = xll_name_to_index(filter_dev);
+		if (G_filter.index == 0) {
+			bb_error_msg_and_die("can't find device '%s'", filter_dev);
 		}
 	}
 
@@ -349,6 +349,6 @@ int FAST_FUNC do_ipneigh(char **argv)
 		case 1: /* flush */
 			return ipneigh_list_or_flush(argv + 1, 1);
 	}
-	invarg(*argv, applet_name);
+	invarg_1_to_2(*argv, applet_name);
 	return 1;
 }
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
index f7209b1..0d29144 100644
--- a/networking/libiproute/iproute.c
+++ b/networking/libiproute/iproute.c
@@ -403,7 +403,7 @@ IF_FEATURE_IP_RULE(ARG_table,)
 			uint32_t prot;
 			NEXT_ARG();
 			if (rtnl_rtprot_a2n(&prot, *argv))
-				invarg(*argv, "protocol");
+				invarg_1_to_2(*argv, "protocol");
 			req.r.rtm_protocol = prot;
 			ok |= proto_ok;
 #if ENABLE_FEATURE_IP_RULE
@@ -411,7 +411,7 @@ IF_FEATURE_IP_RULE(ARG_table,)
 			uint32_t tid;
 			NEXT_ARG();
 			if (rtnl_rttable_a2n(&tid, *argv))
-				invarg(*argv, "table");
+				invarg_1_to_2(*argv, "table");
 			req.r.rtm_table = tid;
 #endif
 		} else if (arg == ARG_dev || arg == ARG_oif) {
@@ -597,7 +597,7 @@ static int iproute_list_or_flush(char **argv, int flush)
 			//G_filter.protocolmask = -1;
 			if (rtnl_rtprot_a2n(&prot, *argv)) {
 				if (index_in_strings(keywords, *argv) != KW_all)
-					invarg(*argv, "protocol");
+					invarg_1_to_2(*argv, "protocol");
 				prot = 0;
 				//G_filter.protocolmask = 0;
 			}
@@ -622,10 +622,10 @@ static int iproute_list_or_flush(char **argv, int flush)
 #if ENABLE_FEATURE_IP_RULE
 				uint32_t tid;
 				if (rtnl_rttable_a2n(&tid, *argv))
-					invarg(*argv, "table");
+					invarg_1_to_2(*argv, "table");
 				G_filter.tb = tid;
 #else
-				invarg(*argv, "table");
+				invarg_1_to_2(*argv, "table");
 #endif
 			}
 		} else if (arg == KW_cache) {
@@ -932,7 +932,7 @@ int FAST_FUNC do_iproute(char **argv)
 		case 11: /* flush */
 			return iproute_list_or_flush(argv+1, 1);
 		default:
-			invarg(*argv, applet_name);
+			invarg_1_to_2(*argv, applet_name);
 	}
 
 	return iproute_modify(cmd, flags, argv+1);
diff --git a/networking/libiproute/iprule.c b/networking/libiproute/iprule.c
index 774a3e2..c3b2109 100644
--- a/networking/libiproute/iprule.c
+++ b/networking/libiproute/iprule.c
@@ -214,7 +214,7 @@ static int iprule_modify(int cmd, char **argv)
 	while (*argv) {
 		key = index_in_substrings(keywords, *argv) + 1;
 		if (key == 0) /* no match found in keywords array, bail out. */
-			invarg(*argv, applet_name);
+			invarg_1_to_2(*argv, applet_name);
 		if (key == ARG_from) {
 			inet_prefix dst;
 			NEXT_ARG();
@@ -239,7 +239,7 @@ static int iprule_modify(int cmd, char **argv)
 			uint32_t tos;
 			NEXT_ARG();
 			if (rtnl_dsfield_a2n(&tos, *argv))
-				invarg(*argv, "TOS");
+				invarg_1_to_2(*argv, "TOS");
 			req.r.rtm_tos = tos;
 		} else if (key == ARG_fwmark) {
 			uint32_t fwmark;
@@ -250,7 +250,7 @@ static int iprule_modify(int cmd, char **argv)
 			uint32_t realm;
 			NEXT_ARG();
 			if (get_rt_realms(&realm, *argv))
-				invarg(*argv, "realms");
+				invarg_1_to_2(*argv, "realms");
 			addattr32(&req.n, sizeof(req), RTA_FLOW, realm);
 		} else if (key == ARG_table ||
 			   key == ARG_lookup
@@ -258,7 +258,7 @@ static int iprule_modify(int cmd, char **argv)
 			uint32_t tid;
 			NEXT_ARG();
 			if (rtnl_rttable_a2n(&tid, *argv))
-				invarg(*argv, "table ID");
+				invarg_1_to_2(*argv, "table ID");
 			req.r.rtm_table = tid;
 			table_ok = 1;
 		} else if (key == ARG_dev ||
@@ -281,7 +281,7 @@ static int iprule_modify(int cmd, char **argv)
 			if (key == ARG_help)
 				bb_show_usage();
 			if (rtnl_rtntype_a2n(&type, *argv))
-				invarg(*argv, "type");
+				invarg_1_to_2(*argv, "type");
 			req.r.rtm_type = type;
 		}
 		argv++;
@@ -309,7 +309,7 @@ int FAST_FUNC do_iprule(char **argv)
 	if (*argv) {
 		int cmd = index_in_substrings(ip_rule_commands, *argv);
 		if (cmd < 0)
-			invarg(*argv, applet_name);
+			invarg_1_to_2(*argv, applet_name);
 		argv++;
 		if (cmd < 2)
 			return iprule_modify((cmd == 0) ? RTM_NEWRULE : RTM_DELRULE, argv);
diff --git a/networking/libiproute/iptunnel.c b/networking/libiproute/iptunnel.c
index a65d5e5..b88c3a4 100644
--- a/networking/libiproute/iptunnel.c
+++ b/networking/libiproute/iptunnel.c
@@ -294,7 +294,7 @@ static void parse_args(char **argv, int cmd, struct ip_tunnel_parm *p)
 			if (key != ARG_inherit) {
 				uval = get_unsigned(*argv, "TTL");
 				if (uval > 255)
-					invarg(*argv, "TTL must be <=255");
+					invarg_1_to_2(*argv, "TTL");
 				p->iph.ttl = uval;
 			}
 		} else if (key == ARG_tos ||
@@ -305,7 +305,7 @@ static void parse_args(char **argv, int cmd, struct ip_tunnel_parm *p)
 			key = index_in_strings(keywords, *argv);
 			if (key != ARG_inherit) {
 				if (rtnl_dsfield_a2n(&uval, *argv))
-					invarg(*argv, "TOS");
+					invarg_1_to_2(*argv, "TOS");
 				p->iph.tos = uval;
 			} else
 				p->iph.tos = 1;
@@ -562,7 +562,7 @@ int FAST_FUNC do_iptunnel(char **argv)
 	if (*argv) {
 		int key = index_in_substrings(keywords, *argv);
 		if (key < 0)
-			invarg(*argv, applet_name);
+			invarg_1_to_2(*argv, applet_name);
 		argv++;
 		if (key == ARG_add)
 			return do_add(SIOCADDTUNNEL, argv);
diff --git a/networking/libiproute/utils.c b/networking/libiproute/utils.c
index 37b5311..7f7cb42 100644
--- a/networking/libiproute/utils.c
+++ b/networking/libiproute/utils.c
@@ -47,7 +47,7 @@ unsigned get_unsigned(char *arg, const char *errmsg)
 			return res;
 		}
 	}
-	invarg(arg, errmsg); /* does not return */
+	invarg_1_to_2(arg, errmsg); /* does not return */
 }
 
 uint32_t get_u32(char *arg, const char *errmsg)
@@ -62,7 +62,7 @@ uint32_t get_u32(char *arg, const char *errmsg)
 			return res;
 		}
 	}
-	invarg(arg, errmsg); /* does not return */
+	invarg_1_to_2(arg, errmsg); /* does not return */
 }
 
 uint16_t get_u16(char *arg, const char *errmsg)
@@ -77,7 +77,7 @@ uint16_t get_u16(char *arg, const char *errmsg)
 			return res;
 		}
 	}
-	invarg(arg, errmsg); /* does not return */
+	invarg_1_to_2(arg, errmsg); /* does not return */
 }
 
 int get_addr_1(inet_prefix *addr, char *name, int family)
@@ -230,12 +230,12 @@ uint32_t get_addr32(char *name)
 
 void incomplete_command(void)
 {
-	bb_error_msg_and_die("command line is not complete, try option \"help\"");
+	bb_error_msg_and_die("command line is not complete, try \"help\"");
 }
 
-void invarg(const char *arg, const char *opt)
+void invarg_1_to_2(const char *arg, const char *opt)
 {
-	bb_error_msg_and_die(bb_msg_invalid_arg, arg, opt);
+	bb_error_msg_and_die(bb_msg_invalid_arg_to, arg, opt);
 }
 
 void duparg(const char *key, const char *arg)
diff --git a/networking/libiproute/utils.h b/networking/libiproute/utils.h
index cd15b70..9bbed64 100644
--- a/networking/libiproute/utils.h
+++ b/networking/libiproute/utils.h
@@ -74,7 +74,7 @@ extern const char *format_host(int af, int len, void *addr, char *buf, int bufle
 	rt_addr_n2a(af, addr, buf, buflen)
 #endif
 
-void invarg(const char *, const char *) NORETURN;
+void invarg_1_to_2(const char *, const char *) NORETURN;
 void duparg(const char *, const char *) NORETURN;
 void duparg2(const char *, const char *) NORETURN;
 int inet_addr_match(const inet_prefix *a, const inet_prefix *b, int bits);
diff --git a/networking/slattach.c b/networking/slattach.c
index a500da6..14e0c19 100644
--- a/networking/slattach.c
+++ b/networking/slattach.c
@@ -27,7 +27,7 @@
 //usage:     "\n	-F	Disable RTS/CTS flow control"
 
 #include "libbb.h"
-#include "libiproute/utils.h" /* invarg() */
+#include "libiproute/utils.h" /* invarg_1_to_2() */
 
 struct globals {
 	int handle;
@@ -175,7 +175,7 @@ int slattach_main(int argc UNUSED_PARAM, char **argv)
 	encap = index_in_strings(proto_names, proto);
 
 	if (encap < 0)
-		invarg(proto, "protocol");
+		invarg_1_to_2(proto, "protocol");
 	if (encap > 3)
 		encap = 8;
 
@@ -183,7 +183,7 @@ int slattach_main(int argc UNUSED_PARAM, char **argv)
 	if (opt & OPT_s_baud) {
 		baud_code = tty_value_to_baud(xatoi(baud_str));
 		if (baud_code < 0)
-			invarg(baud_str, "baud rate");
+			invarg_1_to_2(baud_str, "baud rate");
 	}
 
 	/* Trap signals in order to restore tty states upon exit */
diff --git a/networking/tc.c b/networking/tc.c
index 6d1fef9..c84c18a 100644
--- a/networking/tc.c
+++ b/networking/tc.c
@@ -459,14 +459,14 @@ int tc_main(int argc UNUSED_PARAM, char **argv)
 
 	obj = index_in_substrings(objects, *argv++);
 
-	if (obj < OBJ_qdisc)
+	if (obj < 0)
 		bb_show_usage();
 	if (!*argv)
 		cmd = CMD_show; /* list is the default */
 	else {
 		cmd = index_in_substrings(commands, *argv);
 		if (cmd < 0)
-			bb_error_msg_and_die(bb_msg_invalid_arg, *argv, applet_name);
+			invarg_1_to_2(*argv, argv[-1]);
 		argv++;
 	}
 	memset(&msg, 0, sizeof(msg));
@@ -489,7 +489,7 @@ int tc_main(int argc UNUSED_PARAM, char **argv)
 			NEXT_ARG();
 			/* We don't care about duparg2("qdisc handle",*argv) for now */
 			if (get_qdisc_handle(&filter_qdisc, *argv))
-				invarg(*argv, "qdisc");
+				invarg_1_to_2(*argv, "qdisc");
 		} else
 		if (obj != OBJ_qdisc
 		 && (arg == ARG_root
@@ -499,7 +499,7 @@ int tc_main(int argc UNUSED_PARAM, char **argv)
 		) {
 			/* nothing */
 		} else {
-			invarg(*argv, "command");
+			invarg_1_to_2(*argv, "command");
 		}
 		NEXT_ARG();
 		if (arg == ARG_root) {
@@ -513,7 +513,7 @@ int tc_main(int argc UNUSED_PARAM, char **argv)
 			if (msg.tcm_parent)
 				duparg(*argv, "parent");
 			if (get_tc_classid(&handle, *argv))
-				invarg(*argv, "parent");
+				invarg_1_to_2(*argv, "parent");
 			msg.tcm_parent = handle;
 			if (obj == OBJ_filter)
 				filter_parent = handle;
@@ -538,7 +538,7 @@ int tc_main(int argc UNUSED_PARAM, char **argv)
 			if (filter_proto)
 				duparg(*argv, "protocol");
 			if (ll_proto_a2n(&tmp, *argv))
-				invarg(*argv, "protocol");
+				invarg_1_to_2(*argv, "protocol");
 			filter_proto = tmp;
 		}
 	}


More information about the busybox-cvs mailing list