The recent switch from get_int_value to to atolx_range left route and
traceroute broken. So here's a patch to switch them to atolx_range as
well.

HTH,
Isaac Dunham
diff --git a/toys/pending/route.c b/toys/pending/route.c
index cf91cdb..163ce6b 100644
--- a/toys/pending/route.c
+++ b/toys/pending/route.c
@@ -179,7 +179,7 @@ static void is_prefix(char **tip, char **netmask, struct rtentry *rt)
   char *prefix = strchr(*tip, '/');
   if (prefix) {
     unsigned long plen;
-    plen = get_int_value(prefix + 1, 0, 32);
+    plen = atolx_range(prefix + 1, 0, 32);
     //used to verify the netmask and route conflict.
     (((struct sockaddr_in *)&((rt)->rt_genmask))->sin_addr.s_addr)
       = htonl( ~(INVALID_ADDR >> plen));
@@ -199,7 +199,7 @@ static void get_next_params(char **argv, struct rtentry *rt, char **netmask)
     if (!strcmp(*argv, "metric")) {
       argv++;
       TEST_ARGV(argv);
-      rt->rt_metric = get_int_value(*argv, 0, ULONG_MAX) + 1;
+      rt->rt_metric = atolx_range(*argv, 0, ULONG_MAX) + 1;
       argv++;
     } else if (!strcmp(*argv, "netmask")) {
       //when adding a network route, the netmask to be used.
@@ -229,14 +229,14 @@ static void get_next_params(char **argv, struct rtentry *rt, char **netmask)
       //set the TCP Maximum Segment Size for connections over this route.
       argv++;
       TEST_ARGV(argv);
-      rt->rt_mss = get_int_value(*argv, 64, 32768); //MSS low and max
+      rt->rt_mss = atolx_range(*argv, 64, 32768); //MSS low and max
       rt->rt_flags |= RTF_MSS;
       argv++;
     } else if (!strcmp(*argv, "window")) {
       //set the TCP window size for connections over this route to W bytes.
       argv++;
       TEST_ARGV(argv);
-      rt->rt_window = get_int_value(*argv, 128, INT_MAX); //win low
+      rt->rt_window = atolx_range(*argv, 128, INT_MAX); //win low
       rt->rt_flags |= RTF_WINDOW;
       argv++;
     } else if (!strcmp(*argv, "irtt")) {
@@ -334,7 +334,7 @@ static void is_prefix_inet6(char **tip, struct in6_rtmsg *rt)
 
   if (prefix) {
     *prefix = '\0';
-    plen = get_int_value(prefix + 1, 0, 128); //DEFAULT_PREFIXLEN);
+    plen = atolx_range(prefix + 1, 0, 128); //DEFAULT_PREFIXLEN);
   } else plen = DEFAULT_PREFIXLEN;
 
   rt->rtmsg_flags = (plen == DEFAULT_PREFIXLEN) ? (RTF_UP | RTF_HOST) : RTF_UP;
@@ -352,7 +352,7 @@ static void get_next_params_inet6(char **argv, struct sockaddr_in6 *sock_in6, st
       //set the metric field in the routing table.
       argv++;
       TEST_ARGV(argv);
-      rt->rtmsg_metric = get_int_value(*argv, 0, ULONG_MAX);
+      rt->rtmsg_metric = atolx_range(*argv, 0, ULONG_MAX);
       argv++;
     } else if (!strcmp(*argv, "gw")) {
       //route packets via a gateway.
diff --git a/toys/pending/traceroute.c b/toys/pending/traceroute.c
index 832bda5..4fb77cf 100644
--- a/toys/pending/traceroute.c
+++ b/toys/pending/traceroute.c
@@ -355,7 +355,7 @@ void traceroute_main(void)
     + sizeof(struct payload_s) : ICMP_HD_SIZE;
 
   if (toys.optargs[1])
-    TT.msg_len = get_int_value(toys.optargs[1], pack_size, 32768);//max packet size
+    TT.msg_len = atolx_range(toys.optargs[1], pack_size, 32768);//max packet size
 
   TT.msg_len = (TT.msg_len < pack_size) ? pack_size : TT.msg_len;
   TT.recv_sock = xsocket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
_______________________________________________
Toybox mailing list
[email protected]
http://lists.landley.net/listinfo.cgi/toybox-landley.net

Reply via email to