Skip to content
Snippets Groups Projects
Commit ce9b6e19 authored by Martine Lenders's avatar Martine Lenders
Browse files

shell: sc_icmpv6_echo: prepare for stupid users

parent d5284948
No related branches found
No related tags found
No related merge requests found
...@@ -118,6 +118,17 @@ int _handle_reply(ng_pktsnip_t *pkt, uint64_t time) ...@@ -118,6 +118,17 @@ int _handle_reply(ng_pktsnip_t *pkt, uint64_t time)
return 1; return 1;
} }
static inline void _a_to_timex(timex_t *delay, const char *a)
{
int ms = atoi(a);
if (ms >= 0) {
delay->seconds = 0;
delay->microseconds = ms * 1000;
timex_normalize(delay);
}
}
int _icmpv6_ping(int argc, char **argv) int _icmpv6_ping(int argc, char **argv)
{ {
int count = 3, success = 0, remaining; int count = 3, success = 0, remaining;
...@@ -165,9 +176,7 @@ int _icmpv6_ping(int argc, char **argv) ...@@ -165,9 +176,7 @@ int _icmpv6_ping(int argc, char **argv)
count = 3; count = 3;
addr_str = argv[1]; addr_str = argv[1];
payload_len = atoi(argv[2]); payload_len = atoi(argv[2]);
delay.seconds = 0; _a_to_timex(&delay, argv[3]);
delay.microseconds = atoi(argv[3]) * 1000;
timex_normalize(&delay);
} }
break; break;
...@@ -176,13 +185,11 @@ int _icmpv6_ping(int argc, char **argv) ...@@ -176,13 +185,11 @@ int _icmpv6_ping(int argc, char **argv)
count = atoi(argv[1]); count = atoi(argv[1]);
addr_str = argv[2]; addr_str = argv[2];
payload_len = atoi(argv[3]); payload_len = atoi(argv[3]);
delay.seconds = 0; _a_to_timex(&delay, argv[4]);
delay.microseconds = atoi(argv[4]) * 1000;
timex_normalize(&delay);
break; break;
} }
if (ng_ipv6_addr_from_str(&addr, addr_str) == NULL) { if ((ng_ipv6_addr_from_str(&addr, addr_str) == NULL) || (((int)payload_len) < 0)) {
usage(argv); usage(argv);
return 1; return 1;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment