summaryrefslogtreecommitdiff
path: root/components/net/netdev/src
diff options
context:
space:
mode:
Diffstat (limited to 'components/net/netdev/src')
-rw-r--r--components/net/netdev/src/netdev.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c
index 3b59522c15..5a4056b97a 100644
--- a/components/net/netdev/src/netdev.c
+++ b/components/net/netdev/src/netdev.c
@@ -1340,6 +1340,11 @@ int netdev_cmd_ping(char* target_name, char *netdev_name, rt_uint32_t times, rt_
if (netdev == RT_NULL)
{
netdev = netdev_default;
+ if (netdev == RT_NULL)
+ {
+ rt_kprintf("ping: not found default netif, please specify netdev name.\n");
+ return -RT_ERROR;
+ }
rt_kprintf("ping: not found specified netif, using default netdev %s.\n", netdev->name);
}
@@ -1412,6 +1417,12 @@ int netdev_cmd_ping(char* target_name, char *netdev_name, rt_uint32_t times, rt_
rt_thread_delay(delay_tick);
}
+ if (times == 0)
+ {
+ rt_kprintf("ping: send times is zero, no ping statistics.\n");
+ return -RT_ERROR;
+ }
+
/* print ping statistics */
loss = (uint32_t)((1 - ((float)received) / index) * 100);
avg_time = (uint32_t)(avg_time / received);